在python中找不到hbase模块 - 如何导入?

时间:2012-10-31 12:31:13

标签: python hadoop hbase

我已使用this tutorialhbase with this onehbase.thrift with this one安装了hadoop

现在我有一个给定的python脚本,可以创建一些hbase表。当我运行py文件时,它给出了错误:

Traceback (most recent call last):
  File "./createTables.py", line 9, in <module>
    from hbase import Hbase
ImportError: No module named hbase

这个问题似乎也有同样的问题:How can I import hbase in python?

我尝试了那里给出的解决方案。我跑了

thrift --gen py Hbase.thrift
<{1}}所在的/usr/lib/hbase-0.94.2/src/main/resources/org/apache/hadoop/hbase/thrift文件夹中的

。 Ot创建了子文件夹Hbase.thrift,如上面类似问题中链接的教程所述。

现在,如果我得到“简单地接受该命令并将其复制到您的默认模块文件夹(或在您运行程序的文件夹中,它应该可以工作)。”在那里给出解决方案的一部分,我转到我给定py文件所在的文件夹(比如gen-py)并运行

/home/kumo/Downloads/createTables.py

...?但没有任何事情发生。将Hbase.thrift文件复制到py文件旁边的Downloads文件夹中,仅提供

thrift --gen py /usr/lib/hbase-0.94.2/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift

显然没有帮助。

我也尝试添加

[FAILURE:arguments:1] Could not open input file with realpath: ./Hbase.thrift

再次给出了相同的初始缺失模块错误。

我也尝试添加5.c.通过在.bashrc中添加python路径来节约教程:

import sys
sys.path.append('/usr/lib/hbase-0.94.2/src/main/resources/org/apache/hadoop/hbase/thrift/gen-py')

没有真正奏效。

我对路径export PYTHONPATH=$PYTHONPATH:/usr/lib/hbase-0.94.2/src/main/resources/org/apache/hadoop/hbase/thrift/gen-py 感到厌倦,因为这是另一个以某种方式弹出的gen-py文件夹,无论是作为sys导入还是pythonpath导出,但它仍然给我同样的错误。

我仍然是所有这一切的新手,所以我只是一步一步地遵循教程。我不知道我可能错过了什么或者没有在教程中开始。

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

不确定你的情况究竟是什么问题,但我对HappyBase感到非常满意 - 你可能想尝试一下。

答案 1 :(得分:1)

解决方案似乎是python文件夹中生成的gen-py文件夹的链接。我将解压缩的hbase文件夹移动到家中自己的“软件”文件夹,然后我创建了链接:

cd /usr/local/lib/python2.7/dist-packages/
ln -s /home/kumo/software/hbase-0.94.2/src/main/resources/org/apache/hadoop/hbase/thrift/gen-py/hbase/

这一切都很好。不确定,多个项目会发生什么。