3

Python で hbase をいじろうとしていて、cloudera リポジトリを使用して hadoop/hbase パッケージをインストールしています。シェルを使用してデータベースにアクセスして作業できるように見えますが、Python内では完全には機能していません。

hbase と通信するにはthriftが必要なので、ソースからダウンロードしてコンパイルしました.thriftをpythonにインポートできますがfrom hbase import Hbase、モジュールが見つからないというエラーが発生します。

それを機能させるために必要なパッケージ/モジュールを誰か知っていますか? easy_install と yum (私は centos6 を使用しています) を調べてみましたが、うまくいきませんでした。debain を使用している人sudo aptiutde install python-hbase が、そのコマンド/パッケージを持っていないということでインストールしたという記事を見つけました。

また、それが役立つ場合は、 clouderaからほとんどのベースをインストールし、http://yannramin.com/2008/07/19/using-facebook-thrift-with-python からのいくつかの指示 (インストールを必要としないもの) に従いました。-および-hbase/

ヘルプ/ヒント/提案は素晴らしいでしょう。

ありがとう!

4

3 に答える 3

3

HappyBase をご覧ください (詳細については、https://github.com/wbolster/happybaseを参照してください)。これは、Python から HBase を操作する最新の方法です。完全な Thrift API をカバーしていますが、はるかに優れたインターフェイスにラップされています。

于 2013-01-25T23:30:54.890 に答える
2

わかりました。他の誰かが将来これに問題を抱えている場合、実際には非常に簡単です。を実行するステップで、thrift --gen py Hbase.thriftそのコマンドを実行した場所に hbase フォルダーが作成されます。そのコマンドを使用して、デフォルトのモジュール フォルダー (またはプログラムを実行するフォルダーにコピーすると動作するはずです) にコピーするだけです。

于 2012-02-14T23:11:07.283 に答える
0
  1. Hadoop インストールフォルダーの下で /src/contrib/thriftfs/gen-py を検索します
  2. thrift --gen py Hbase.thrif の出力を以下の場所にコピーします (/home/hadoop/data/ までの部分はケースによって異なります) /home/hadoop/data/hadoop-1.0.4/src/contrib/thriftfs /gen-py

それから

$ python
import sys
sys.path.append("/home/hadoop/data/hadoop-1.0.4/src/contrib/thriftfs/gen-py")
import hbase 

今すぐ動作するはずです

于 2013-02-22T18:58:16.127 に答える