2012-10-31 58 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