我已使用this tutorial,hbase with this one和hbase.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导出,但它仍然给我同样的错误。
我仍然是所有这一切的新手,所以我只是一步一步地遵循教程。我不知道我可能错过了什么或者没有在教程中开始。
感谢您的帮助!
答案 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/
这一切都很好。不确定,多个项目会发生什么。