2012-10-31 59 views
1

我已经安装了Hadoop的使用this tutorialhbase with this onehbase.thrift with this one未在python中找到hbase模块 - 如何导入?

现在我有一个给定的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?

我试图给那里的解决方案。我在/usr/lib/hbase-0.94.2/src/main/resources/org/apache/hadoop/hbase/thrift文件夹,其中Hbase.thrift位于跑

thrift --gen py Hbase.thrift 

。 Ot创建了子文件夹gen-py,正如在上面类似问题中链接的教程中所描述的那样。

现在,如果我得到“只需执行该命令并将其复制到默认模块文件夹(或者在运行程序的文件夹中,它应该可以工作)”。给出解决方案的一部分有合适的,我去中我给出的PY文件所在的文件夹(比如/home/kumo/Downloads/createTables.py),然后运行

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

...?但没有任何事情发生。复制Hbase.thrift文件到下载文件夹旁边的PY文件,只给出

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

所以,很显然没有帮助任。

我也尝试添加

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

再次作出了同样的INTIAL缺少模块的故障。

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

export PYTHONPATH=$PYTHONPATH:/usr/lib/hbase-0.94.2/src/main/resources/org/apache/hadoop/hbase/thrift/gen-py 

没有真正的工作。

我对路径/usr/local/hadoop/src/contrib/thriftfs/gen-py感到厌倦,因为这是另一个以某种方式弹出的gen-py文件夹,它们都是作为sys导入和pythonpath导出,但它仍然给我带来了同样的错误。

我对这一切仍然陌生,所以我只是按照教程一步一步来做。我不知道我可能错过了什么,或者不在教程中。

感谢您的帮助!

回答

2

不知道你的情况究竟是什么问题,但我很高兴与HappyBase - 你可能想试试看。

+0

+1对于HappyBase。我也是一个快乐的用户。:) – Suman

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/ 

和所有被罚款有关的错误。不知道,通过多个项目会发生什么。

+0

我只是找到答案,没有找到旧路径中的文件。当前路径是[Your_Hbase_Path]/hbase-examples/src/main/python/[thrift1 | thrift2]。 – onebraveman