如何使用python在hbase里进行模糊查询?

0
我的rowkey为:1111_3333_abcd这样的。
请问如何使用python查询两个_间的数字为3333的记录?
请提供一下相关代码,多谢1
已邀请:
1

Bob - 同程旅游大数据+BI 架构师 2015-10-27 回答

要想使用python访问hbase,一般是使用thrift组件。现在也有一个开源的happyhbase组件 或 Starbase组件可以试试。
Python代码没有在生产环境运行,仅供参考。提供一种解决的思路吧
 
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 *

transport = TSocket.TSocket('localhost', 9090)
transport = TTransport.TBufferedTransport(transport)
protocol = TBinaryProtocol.TBinaryProtocol(transport)
client = Hbase.Client(protocol)

filter  = '{"type": "RowFilter", "op": "EQUAL", "comparator": {"type": "SubstringComparator", "value": "3333" }}'
transport.open()
scan = TScan()  
scan.filterString=filter  
scanner = client.scannerOpenWithScan('table_name', scan)
 

要回复问题请先登录注册