3

Hadoop を介した HBase 実装があります。現在、Map-Reduce ジョブはすべて Java クラスとして記述されています。Map-Reduce のために Python スクリプトを使用して HBase に渡す良い方法があるかどうか疑問に思っています。

4

2 に答える 2

5

この目的に使用できる優れたオープンソースライブラリがあります。これは、ここで呼び出されHappyBaseて利用できます。HBase用のThriftAPIを使用して接続します。

HappyBaseで実行されるいくつかの単純なHBase操作の例を次に示します。

import happybase

connection = happybase.Connection('localhost')
table = connection.table('my-table')

table.put('row-key', {'family:qual1': 'value1','family:qual2': 'value2'})
row = table.row('row-key')print row['family:qual1']  
# prints 'value1'
for key, data in table.rows(['row-key-1', 'row-key-2']):    
    print key, data  # prints row key and data for each row
for key, data in table.scan(row_prefix='row'):    
    print key, data  # prints 'value1' and 'value2'
row = table.delete('row-key')

したがって、Pythonを使用してMap / Reduceジョブを実行してHBaseにアクセスする場合、実行できることは次のとおりです。

  1. すべてのデータノードにHappyBaseをインストールします。
  2. ストリーミングのセクションで詳しく説明されているPythonストリーミングを使用して、クラスターでジョブを実行します。
于 2013-01-09T19:16:51.797 に答える
-2

thrift サーバーとやり取りする Python を使用して、map reduce プログラミングを非常に簡単に行うことができます。Python の Hbase クライアントは、thrift クライアントになります。

于 2013-02-03T18:24:14.380 に答える