【发布时间】:2011-08-07 00:04:58
【问题描述】:
我已经安装了 Hbase,现在我正在寻找一些 PHP 库来将 hbase 与 PHP 集成我已经尝试了 2 个库,一个是我尝试与 thrift 连接,但无法这样做,第二个是我尝试将它与 popHbase 连接但是如果有任何其他可用的库或者是否有任何可用的使用节俭的工作库,有人可以向我提供吗?请建议我应该怎么做才能使 PHP 与 hbase 通信。
问候,
【问题讨论】:
我已经安装了 Hbase,现在我正在寻找一些 PHP 库来将 hbase 与 PHP 集成我已经尝试了 2 个库,一个是我尝试与 thrift 连接,但无法这样做,第二个是我尝试将它与 popHbase 连接但是如果有任何其他可用的库或者是否有任何可用的使用节俭的工作库,有人可以向我提供吗?请建议我应该怎么做才能使 PHP 与 hbase 通信。
问候,
【问题讨论】:
您无法直接从 PHP 访问 HBase,但您可以通过仔细查看 Thrift 界面来解决此问题。
设置它有多个部分:
第一:
Thrift 是一个用于跨语言通信的系统,并不特定于 HBase。 HBase 的接口规范看起来like this。
要使用 Thrift 接口,您需要为您使用的语言(在本例中为 PHP)编译规范。为此,您需要 Thrift 编译器(您可以在 thrift.apache.org 获得它)。
编译它:
thrift --gen php [hbase-root]/src/java/org/apache/hadoop/hbase/thrift/Hbase.thrift
这会生成几个PHP接口文件。将其与 Thrift 库文件(编译器附带)一起放入您的项目中。
可以在此处找到使用 Thrift 和 PHP 的示例:http://svn.apache.org/viewvc/thrift/trunk/tutorial/php/PhpServer.php?view=markup - 您调用的函数和方法将就是你在接口文件中看到的那个。
第二:
您需要运行一个 Thrift 服务器来实际连接到 HBase。 说明是 on the HBase site,但在大多数情况下,您应该只需要:
[hbase-root]/bin/hbase thrift start
【讨论】:
试试这个 hbase 和 hive thrift php 客户端包:
http://nousefor.net/55/2011/12/php/hbase-and-hive-thrift-php-client/
【讨论】:
这是对的,但是在Hadoop 0.90.3中,编译的命令是
thrift --gen php [hbase-root]/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift
【讨论】: