Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从python连接独立hbase_Python_Hadoop_Hbase_Thrift - Fatal编程技术网

从python连接独立hbase

从python连接独立hbase,python,hadoop,hbase,thrift,Python,Hadoop,Hbase,Thrift,我正在开发一个以hbase为后端的python应用程序。我已经安装了hbase,它的外壳工作得很好。请注意,我还没有安装hadoop,因为我没有节点。但由于令人印象深刻的体系结构,我决定使用hbase 现在的问题是,我无法从诸如happybase之类的库或直接使用thrift从python连接到hbase。我也试过,但没有用。请帮我做这个 更新- > >>> import happybase > >>> con =happybase.Connect

我正在开发一个以hbase为后端的python应用程序。我已经安装了hbase,它的外壳工作得很好。请注意,我还没有安装hadoop,因为我没有节点。但由于令人印象深刻的体系结构,我决定使用hbase

现在的问题是,我无法从诸如happybase之类的库或直接使用thrift从python连接到hbase。我也试过,但没有用。请帮我做这个

更新-

> >>> import happybase
> >>> con =happybase.Connection('localhost') Traceback (most recent call last):   File "<stdin>", line 1, in <module>   File
> "/usr/local/lib/python2.7/dist-packages/happybase/api.py", line 121,
> in __init__
>     self.open()   File "/usr/local/lib/python2.7/dist-packages/happybase/api.py", line 138,
> in open
>     self.transport.open()   File "build/bdist.linux-i686/egg/thrift/transport/TTransport.py", line 149,
> in open   File
> "build/bdist.linux-i686/egg/thrift/transport/TSocket.py", line 99, in
> open thrift.transport.TTransport.TTransportException: Could not
> connect to localhost:9090
> >>>
导入happybase >>>>con=happybase.Connection('localhost')回溯(最后一次调用):文件“”中的第1行 >“/usr/local/lib/python2.7/dist packages/happybase/api.py”,第121行, >在初始化中__ >self.open()文件“/usr/local/lib/python2.7/dist-packages/happybase/api.py”,第138行, >公开 >self.transport.open()文件“build/bdist.linux-i686/egg/thrift/transport/tttransport.py”,第149行, >打开文件 >“build/bdist.linux-i686/egg/thrift/transport/TSocket.py”,第99行,in >打开thrift.transport.ttTransport.ttTransportException:无法 >连接到本地主机:9090 > >>>
与直接呼叫几乎相同的prbm。总之,我只想在python应用程序中使用hbase数据库而不是mongodb。没有hadoop,没有hdfs等。这是可行的还是我试图实现一些不可能的事情?

Trift服务器必须启动并运行。您的连接也必须打开:

nohup hbase thrift start &
在使用之前,请在python中打开连接。例如:

import happybase
connection = happybase.Connection('localhost', autoconnect=False)
connection.open()

你面临的确切错误是什么?请提供您拥有的python代码,或者您拥有的确切代码triedjython可能是一种选择,但听说它会影响性能。请尝试用您的IPthanks替换
localhost
,以获得回复。是的,但是同样的错误。也尝试了127.0.0.1如果使用默认设置,则无需调用
connection.open()