php操作hbase作者:曾 彬
这里将介绍php如何使用thrift进行操作php。
在阅读这篇文章前,建议先学习一些
这里仅测试scan方式,其他方法类似,可自行查看(THBaseService.php/get、put、scan等方法的使用)
require_once('hbase/THBaseService.php');
require_once('hbase/Types.php');
$host = '192.168.1.244';
$port = '9090';
$socket = new TSocket($host, $port);
$socket->setSendTimeout(5000);
$socket->setRecvTimeout(10000);
$this->transport = new TBufferedTransport($socket);
$protocol = new TBinaryProtocol($this->transport);
$this->client = new THBaseServiceClient($protocol);
$this->transport->open()
//上面的代码几乎固定, 只需要修改thrift2的host和port
/*倒序查询user表从1-100行,中的第一行中族f1中的name列值*/
$table = 'user'; //你需要查的表名 $limit = 1; //限制多少输出
$start_row = '1'; //从第几行开始查 $stop_row = '100'; //结束行
$column_arr['family'] = 'f1' ; //表中哪个族
$column_arr['qualifier'] = 'name'; //哪一列
$column_1[] = new TColumn($column_arr);
$scan_val = array(
'startRow' =>$stop_row,
'stopRow' => $start_row,
'columns' => $column_1 ,
'reversed' => true
);
$scan = new TScan($scan_val);
$ret = $this->client->getScannerResults($table, $scan, $limit);
//记得关闭
$this->transport->close();
var_dump($ret);