當前位置:成語大全網 - 書法字典 - 如何使用python在hbase中進行模糊查詢

如何使用python在hbase中進行模糊查詢

#導入節儉和habse包

從節儉進口節儉

從節儉。運輸進口手提包

從節儉。運輸進口運輸

來自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的正則化要求,否則報錯。