我正在尝试通过REST API读取和写入hbase,我在端口8085上运行它(可以在XXXXX上看到它:8085 / rest.jsp)
我已经让这个脚本进行测试了,它给了我405(我认为这是“方法不允许”但我不确定):
#!/usr/bin/env python
from starbase import Connection
from socket import gethostname
hostname = gethostname()
print "hostname: %r" % hostname
con = Connection(host=hostname, port=8085)
print con.tables()
我认为我的先决条件存在问题,但我也不确定,也许有经验丰富的人可以提供帮助。
是否有更好的解决方案来连接hbase和python?
感谢。
答案 0 :(得分:1)
starbase
适用于StarGate
http://wiki.apache.org/hadoop/Hbase/Stargate。 Stargate
默认在端口8000上运行。如果StarGate
正在运行,您应该只需访问XXXXX:8000(在您的情况下为8085)即可查看表列表。如果您没有看到,那么您可能正在运行REST API的旧版本和弃用版本。
您可以尝试Apache Thrift
框架http://thrift.apache.org或happybase
(基于Apache Thrift
框架)https://github.com/wbolster/happybase。
Apache Thrift
比REST API快得多。