Pythonでhbaseデータを操作する方法を詳しく紹介します。

高洛峰
リリース: 2017-03-24 17:29:59
オリジナル
2806 人が閲覧しました

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート