このチュートリアルでhadoopをインストールし、これでhbaseをインストールし、これでインストールしhbase.thrift
ました
これで、いくつかの hbase テーブルを作成するための Python スクリプトができました。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
が置かれていた/usr/lib/hbase-0.94.2/src/main/resources/org/apache/hadoop/hbase/thrift
フォルダ内Hbase.thrift
。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 ファイルの隣の Downloads フォルダーにコピーすると、
[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')
同じ最初のモジュールが見つからないというエラーが再び発生しました。
5.cも追加してみました。.bashrc に python パスを追加して、thrift チュートリアルの手順を実行します。
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
これは、sys インポートと pythonpath エクスポートの両方として何らかの形でポップアップした別の gen-py フォルダーであるため、 path でも同じことに疲れましたが、それでも同じエラーが発生します。
私はまだこれらすべてに慣れていないので、チュートリアルを順を追って説明しました。そもそもチュートリアルで何を見逃したのか、何を見逃したのかわかりません。
助けてくれてありがとう!