從節儉進口節儉
從節儉。運輸進口手提包
從節儉。運輸進口運輸
來自thrift.protocol導入協議
從hbase導入Hbase
從hbase.ttypes導入*
#您可以在此修改地址和端口。
host = ' 192.168.1.1 '
#默認端口是9090
端口= 9090
#要查詢的表的名稱
table = 'table_name '
#定義過濾器是關鍵的壹步。
Filter = "rowfilter (=,' regex字符串:. 3333。)" #這行是原創:)
#制作插座
transport = TSocket。TSocket(主機,端口)
#緩沖至關重要。原始套接字非常慢
#也可以使用TFramedTransport,這也是壹種高效的傳輸方式。
transport = TTransport。TBufferedTransport(傳輸)
#用協議包裝
#傳輸協議和傳輸過程分離,可支持多種協議。
協議= TBinaryProtocol。運輸協議
#客戶端代表壹個用戶
客戶端= Hbase。客戶端(協議)
#打開連接
嘗試:
transport.open()
scan.filterString=filter
scanner = client . scanneropenwithscan(表格,掃描)
例外情況除外:
最後:
client.scannerClose(掃描)
transport.close()
網上搜了很多連接代碼,都不是原創,出處不詳,也不是我的研究成果;
關鍵是這樣的:“RowFilter(=,' regexstring:.3333。”)"
這個篩選器應該編寫正確。hbase有十幾個內置的過濾方法,還有幾個比較運算符和比較器。上面的壹個是常規方式,即' regex string: .3333 ';
過濾器整個雙引號中的內容會通過節儉發送到hbase服務器進行處理,下劃線部分要支持java的正則化要求,否則報錯。