如何在python中导入hbase?

时间:2012-02-14 17:51:57

标签: python hbase cloudera

我正在尝试在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/

的一些说明(不需要安装)

任何帮助/提示/建议都会很棒。

谢谢!

3 个答案:

答案 0 :(得分:3)

查看HappyBase(有关信息,请参阅https://github.com/wbolster/happybase)。它是从Python与HBase交互的现代方式。它涵盖了完整的Thrift API,但将其包装在一个更好的界面中。

答案 1 :(得分:2)

好的,我明白了。如果其他人在将来遇到这个问题,实际上很容易。在运行thrift --gen py Hbase.thrift的步骤中,它会在您运行该命令的位置创建一个hbase文件夹。只需将该命令复制到您的默认模块文件夹(或在您运行程序的文件夹中,它应该可以工作)。

答案 2 :(得分:0)

  1. 在hadoop安装文件夹下搜索/ src / contrib / thriftfs / gen-py
  2. 将thrift -gen py Hbase.thrif的输出复制到下面的位置(部分直到/ home / hadoop / data /将在您的情况下有所不同)/home/hadoop/data/hadoop-1.0.4/src/的contrib / thriftfs / GEN-PY
  3. 然后

    $ python
    import sys
    sys.path.append("/home/hadoop/data/hadoop-1.0.4/src/contrib/thriftfs/gen-py")
    import hbase 
    

    它应该现在可以使用