我正在尝试在python中使用hbase,我正在使用cloudera存储库来安装hadoop / hbase软件包。它似乎工作,因为我可以使用shell访问和使用数据库,但它不能在python中完全工作。
我知道要与hbase通信我需要thrift所以我从源代码下载并编译它,我可以将thrift导入python但是当我from hbase import Hbase
时,我得到模块未找到错误。
有谁知道我需要什么包/模块才能让它工作?我试着环顾easy_install和yum(我正在使用centos6)而且没有运气。我找到了一篇文章,其中一个人使用debain通过执行sudo aptiutde install python-hbase
安装它我没有那个命令/包,所以我不知道如何得到它(或者如果我必须从源代码编译得到它它)。
另外,如果它有帮助,我从cloudera安装了大部分基地并遵循http://yannramin.com/2008/07/19/using-facebook-thrift-with-python-and-hbase/
的一些说明(不需要安装)任何帮助/提示/建议都会很棒。
谢谢!
答案 0 :(得分:3)
查看HappyBase(有关信息,请参阅https://github.com/wbolster/happybase)。它是从Python与HBase交互的现代方式。它涵盖了完整的Thrift API,但将其包装在一个更好的界面中。
答案 1 :(得分:2)
好的,我明白了。如果其他人在将来遇到这个问题,实际上很容易。在运行thrift --gen py Hbase.thrift
的步骤中,它会在您运行该命令的位置创建一个hbase文件夹。只需将该命令复制到您的默认模块文件夹(或在您运行程序的文件夹中,它应该可以工作)。
答案 2 :(得分:0)
然后
$ python
import sys
sys.path.append("/home/hadoop/data/hadoop-1.0.4/src/contrib/thriftfs/gen-py")
import hbase
它应该现在可以使用