如何在python中导入hbase?

2024-05-20 23:02:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在python中使用hbase,并使用cloudera存储库安装hadoop/hbase包。它似乎可以工作,因为我可以使用shell访问和处理数据库,但它不能在python中完全工作。

我知道要与hbase通信,我需要节俭,所以我从源代码下载并编译了它,我可以将节俭导入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/中的一些说明(这些说明不需要安装)

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

谢谢!


Tags: 模块installfromimporthadoop数据库源代码easy
3条回答

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

  1. 在hadoop安装文件夹下搜索/src/contrib/thriftfs/gen py
  2. 将thrift--gen py Hbase.thrif的输出复制到下面的位置(part till/home/hadoop/data/will different in your case)/home/hadoop/data/hadoop-1.0.4/src/contrib/thriftfs/gen-py

那么

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

现在应该可以了

好吧,我想出来了。如果将来有人对此有问题,其实很容易。在运行thrift --gen py Hbase.thrift的步骤中,它会在运行该命令的位置创建一个hbase文件夹。只需使用该命令并将其复制到默认的模块文件夹(或运行程序并应能正常运行的文件夹)。

相关问题 更多 >