thriftの設定
Pythonで使用されるパッケージthrift
私が個人的に使用しているPythonコンパイラーは、プロジェクト設定で、対応するプロジェクトの下でプロジェクトインタープリターを見つけ、パッケージを見つけて、「+」を選択します。 " を追加するには、hbase-thrift (HBase Thrift インターフェイスの Python クライアント) を検索し、パッケージをインストールします。
サーバー側の節約をインストールします。
公式Webサイトを参照して、ターミナルを使用するためにローカルマシンにインストールすることもできます。
thrift入門
インストール方法も参照できますPythonによるHBaseの呼び出し例
まず、thriftをインストールします
thriftをダウンロードします。ここでは、thrift-0.7.0-dev.tar.gzバージョンを使用します
tar xzf thrift -0.7.0-dev.tar.gz
cd thrift-0.7.0-dev
sudo ./configure –with-cpp=no –with-ruby=no
sudo make
sudo make install
次に、 HBase ソース コード パッケージ、
src/main/resources/org/apache/hadoop/hbase/thrift/
を見つけて、
thrift –gen py Hbase.thrift
mv gen-py/hbase/ /usr/lib/python2.4/ を実行します。 site-packages/ (Pythonのバージョンによって異なる場合があります)
データの取得例1
# coding:utf-8 from thrift import Thrift from thrift.transport import TSocket from thrift.transport import TTransport from thrift.protocol import TBinaryProtocol from hbase import Hbase # from hbase.ttypes import ColumnDescriptor, Mutation, BatchMutation from hbase.ttypes import * import csv def client_conn(): # Make socket transport = TSocket.TSocket('hostname,like:localhost', port) # Buffering is critical. Raw sockets are very slow transport = TTransport.TBufferedTransport(transport) # Wrap in a protocol protocol = TBinaryProtocol.TBinaryProtocol(transport) # Create a client to use the protocol encoder client = Hbase.Client(protocol) # Connect! transport.open() return client if __name__ == "__main__": client = client_conn() # r = client.getRowWithColumns('table name', 'row name', ['column name']) # print(r[0].columns.get('column name')), type((r[0].columns.get('column name'))) result = client.getRow("table name","row name") data_simple =[] # print result[0].columns.items() for k, v in result[0].columns.items(): #.keys() #data.append((k,v)) # print type(k),type(v),v.value,,v.timestamp data_simple.append((v.timestamp, v.value)) writer.writerows(data) csvfile.close() csvfile_simple = open("data_xy_simple.csv", "wb") writer_simple = csv.writer(csvfile_simple) writer_simple.writerow(["timestamp", "value"]) writer_simple.writerows(data_simple) csvfile_simple.close() print "finished"
基本的なPythonを知っている人は、resultがリストであり、result[0].columns.items()がdictキーであることを知っているはずです-値のペア。関連情報を確認できます。または、変数を出力して、変数の値と型を観察します。
注: 上記のプログラムでは、transport.open() がリンクに使用されています。実行後は、transport.close() を切断する必要があります。現時点では、データの読み取りのみが行われ、他のデータベース操作は引き続き更新されます。将来。
以上がPythonでhbaseデータを操作する方法を詳しく紹介します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。