没问题。另外,我并没有仅仅转储已创建列的值,而是实际转储修改后的列的最后三个版本,因为它很酷。在
为了完整起见,我大致上做了以下几项工作:下载并构建Thrift(使用SVN。。2012-11-15/1429368)。在
从我想要创建Python接口文件的路径运行“thrift-genpy<;thrift file>;”。在
通过PIP安装了“thrift”软件包。在
我从生成的文件的根目录运行以下代码。在from thrift.transport import TSocket
from thrift.transport import TTransport
from thrift.protocol import TBinaryProtocol
from hbase import Hbase
from hbase.ttypes import *
from random import randrange
from pprint import pprint
socket = TSocket.TSocket('localhost', 9090)
transport = TTransport.TBufferedTransport(socket)
transport.open()
protocol = TBinaryProtocol.TBinaryProtocol(transport)
client = Hbase.Client(protocol)
table_name = 'test_table'
row_key = 'test_row1'
colfamily1 = 'test_colfamily1'
column1 = 'test_col1'
fullcol1 = ('%s:%s' % (colfamily1, column1))
value = ('%d' % randrange(1000, 9999))
num_versions = 3
try:
desc = ColumnDescriptor(colfamily1)
client.createTable(table_name, [desc])
except AlreadyExists:
pass
client.mutateRow(table_name, row_key, [Mutation(column=fullcol1, value=value)], {})
results = client.getVer(table_name, row_key, fullcol1, num_versions, {})
pprint(results)
输出:
^{pr2}$