我使用HappyBase作为Python Thrift客户端连接到HBase。
当我在Hbase shell上执行get'test get 'test', 'S00001-19830330'时,我得到的结果如下( atune是columnFamily表test的columnFamily):
column cell
-------------------
1 atune:hb_a 500
2 atune:hb_b 200
3 atune:hb_c 500
4 atune:hb_d 200
5 atune:hb_e 500
6 atune:hb_f 200
如果我想获得atune:hb_a的值, atune:hb_a可以使用以下Python代码:
def test_atune(self):
val_end = ''
rows_end = self.hintltable.scan(
row_start=self.code + '-' + self.date,
row_stop=self.code,
columns=['n:'+ self.hb_a], reverse=True, limit=1
)
for k, v in rows_end:
val_end = eval(v['n:'+ self.hb_a])
return {"val": {"0": val_end}}
但是如何获取columnFamily的所有数据? 应该像下面的python代码一样,但是那些是错误的代码,我无法获得正确的结果。
def test_atune(self):
val_end = []
rows_end = self.hintltable.scan(
row_start=self.code + '-' + self.date,
columns=['atune:hb_a','atune:hb_b','atune:hb_c','atune:hb_d', 'atune:hb_e', 'atune:hb_f']
)
for k, v in rows_end:
val_end = val_end(v['atune:hb_a','atune:hb_b','atune:hb_c','atune:hb_d', 'atune:hb_e', 'atune:hb_f'])
return {"val": {"0": val_end}}