前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >php 从hbase 获取数据 原

php 从hbase 获取数据 原

作者头像
双面人
发布2019-04-10 14:17:58
2.9K0
发布2019-04-10 14:17:58
举报
文章被收录于专栏:热爱IT热爱IT

<?php ini_set('display_errors', E_ALL); $GLOBALS['THRIFT_ROOT'] = "/home/t_qmw/project_hbase"; /* Dependencies. In the proper order. */ require_once $GLOBALS['THRIFT_ROOT'] . '/Thrift/Transport/TTransport.php'; require_once $GLOBALS['THRIFT_ROOT'] . '/Thrift/Transport/TSocket.php'; require_once $GLOBALS['THRIFT_ROOT'] . '/Thrift/Protocol/TProtocol.php'; require_once $GLOBALS['THRIFT_ROOT'] . '/Thrift/Protocol/TBinaryProtocol.php'; require_once $GLOBALS['THRIFT_ROOT'] . '/Thrift/Protocol/TBinaryProtocolAccelerated.php'; require_once $GLOBALS['THRIFT_ROOT'] . '/Thrift/Transport/TBufferedTransport.php'; require_once $GLOBALS['THRIFT_ROOT'] . '/Thrift/Type/TMessageType.php'; require_once $GLOBALS['THRIFT_ROOT'] . '/Thrift/Factory/TStringFuncFactory.php'; require_once $GLOBALS['THRIFT_ROOT'] . '/Thrift/StringFunc/TStringFunc.php'; require_once $GLOBALS['THRIFT_ROOT'] . '/Thrift/StringFunc/Core.php'; require_once $GLOBALS['THRIFT_ROOT'] . '/Thrift/Type/TType.php'; require_once $GLOBALS['THRIFT_ROOT'] . '/Thrift/Exception/TException.php'; require_once $GLOBALS['THRIFT_ROOT'] . '/Thrift/Exception/TTransportException.php'; require_once $GLOBALS['THRIFT_ROOT'] . '/Thrift/Exception/TProtocolException.php'; require_once $GLOBALS['THRIFT_ROOT'] . '/gen-php/Hbase/Types.php'; require_once $GLOBALS['THRIFT_ROOT'] . '/gen-php/Hbase/Hbase.php'; use Thrift\Protocol\TBinaryProtocol; use Thrift\Transport\TBufferedTransport; use Thrift\Transport\TSocket; use Hbase\HbaseClient; use Hbase\ColumnDescriptor; use Hbase\Mutation; $host='localhost'; $port='9090'; $socket = new TSocket($host, $port); $socket->setSendTimeout(10000); // 发送超时,单位毫秒 $socket->setRecvTimeout(20000); // 接收超时,单位毫秒 $transport = new TBufferedTransport($socket); $protocol = new TBinaryProtocol($transport); $client = new HbaseClient($protocol); $transport->open(); ####列出表#### // echo "----list tables----\n"; $tables = $client->getTableNames(); // var_dump($tables); // foreach ($tables as $name) { //     var_dump($tables); // } $table='shop:filter';

// $startRow='1'; // $scan = $client->scannerOpen($tablename, null, array ('column' => 'attr_id:1337', 'column'=>'attr_id:1443'), null); // // $scan = $client->scannerOpen($tablename, $startRow, $columns, null); // $nbRows = 4000; // $arr = $client->scannerGetList($scan, $nbRows); // echo 'count of result :'.count($arr)."\n"; // var_dump($arr); // foreach ($arr as $k => $TRowResult) { //     echo "\trow:$TRowResult->row\tcolumns(array):"; //     foreach ($TRowResult->columns as $key => $value) { //         echo "key:$key\tvalue:$value->value\ttimestamp:$value->timestamp\n"; //     } // }

 # 过滤器 $filter = array();

$filter[] = "ValueFilter(=,'substring:cat_id:7|sub_cat:65')"; $filterString = implode(" AND ", $filter); $scanFilter = new \Hbase\TScan(); $scanFilter->columns=array('attr_id:1325','attr_id:1356','brand_id:94');

$scanFilter->filterString =$filterString;

$scanFilter->startRow = 'p:1'; $scanFilter->stopRow = 'p:5000';

// $scanFilter->columns = array('column' => 'author'); # 指定返回列族

$scan = $client->scannerOpenWithScan($table, $scanFilter, array()); $ret = $client->scannerGetList($scan,20); //2代表数量 var_dump($ret);

$transport->close(); ?>

(adsbygoogle = window.adsbygoogle || []).push({});

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
TDSQL MySQL 版
TDSQL MySQL 版(TDSQL for MySQL)是腾讯打造的一款分布式数据库产品,具备强一致高可用、全球部署架构、分布式水平扩展、高性能、企业级安全等特性,同时提供智能 DBA、自动化运营、监控告警等配套设施,为客户提供完整的分布式数据库解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档