1

リンクhttp://whynosql.com/using-thrift-python-client-with-hbase/を使用して HBase をインストールし、thrift サーバーを構成しました。Hbase.py のプロトタイプが次のような ScannerOpen を呼び出すときに指定する属性がわかりません。

def scannerOpen(self, tableName, startRow, columns, attributes):

誰でも指定できる属性と、それぞれの意味を教えてください。

4

1 に答える 1

0

あなたと私の両方、つぼみ...あなたはおそらく私が好きな最新のHbase.thrift定義ファイルを使用していたでしょう。これには4つ(「自己」を含める場合は5つ)がありますが、すべてのドキュメントでは3つ-「属性」パラメーターについて話していますが忍び込んでいて、使い方を知っている人がいても、彼らは言っていません...

最後に、ここで古いバージョンを見つけました: https://github.com/wbolster/happybase/blob/master/happybase/Hbase.thrift

これは、HBase In Action の例から取った、私がそれを使用する方法です。

>>> import thrift
>>> import hbase
>>> from thrift.transport import TSocket
>>> from thrift.protocol import TBinaryProtocol
>>> from hbase import Hbase
>>> transport =TSocket.TSocket("yeps85228", 9090)
>>> protocol = TBinaryProtocol.TBinaryProtocol(transport)
>>> client = Hbase.Client(protocol)
>>> transport.open()
>>> client.getTableNames()
['followedBy', 'follows', 'twits', 'users']
>>> columns = ['info:user', 'info:name','info:email']
>>> scanner = client.scannerOpen('users','',columns)
>>> scanner
1
>>> row = client.scannerGet(scanner)
>>> row
[TRowResult(columns={'info:email': TCell(timestamp=1382538013868L, value=' Andre
w19@pangane.com'), 'info:name': TCell(timestamp=1382538013868L, value='Casey And
rew'), 'info:user': TCell(timestamp=1382538013868L, value=' Andrew19')}, row=' A
ndrew19')]

それが役立つことを願っています

于 2013-10-23T17:19:00.290 に答える