thrift读取hbase学习了解

<?php
$this->socket = new TSocket($config['ip'], $config['port']);
$this->socket->setSendTimeout(5000); 
$this->socket->setRecvTimeout(100);
$this->transport = new TBufferedTransport($this->socket);
$this->transport->open();
$protocol = new TBinaryProtocol($this->transport);
$this->client = new HbaseClient($protocol);
$arr = $this->client->get($tableName, $rowName, $colName, $ext);

第一步: HbaseClient::get         /Hbase/lib/Hbase.php

<?php
$this->send_get($tableName, $row, $column, $attributes);
return $this->recv_get();

send_getTableNames应该是 设置一些信息,比如tableName等,下面是recv_getTableNames()的大概内容 

$this->input_->readMessageBegin($fname, $mtype, $rseqid);
$result = new \Hbase\Hbase_getTableNames_result();
$result->read($this->input_);
$this->input_->readMessageEnd();

$result->read($this->input_)应该是获取hbase的内容了  , $this->input_参数是上上面的HBaseClient实例化时的参数$protocol,  

$protocol = new TBinaryProtocol($this->transport);



你可能感兴趣的:(study)