本文目錄一覽:
如何在Python中訪問HBase的數據
for key, data in graph_table.scan(filter=”SingleColumnValueFilter(‘cf’, ‘id’, q”, 1000)): print key, data 這個語句是查詢id
python可以把爬蟲的數據寫入hbase么
下載mysql.connector庫 然後把爬蟲爬到的數據通過mysql裏面的insert語句查到數據庫,當然也可以建表,一般我沒用python建表 是先建好再寫數據的 import mysql.connectorconn
如何使用python在hbase里進行模糊查詢
#導入thrift和habse包
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 *
#此處可以修改地址和端口
host = ‘192.168.1.1’
#默認端口為9090
port = 9090
#要查詢的表名
table = ‘table_name’
#定義一個過濾器,此為關鍵步驟
filter = “RowFilter(=,’regexstring:.3333.’)” #此行原創:)
# Make socket
transport = TSocket.TSocket(host, port)
# Buffering is critical. Raw sockets are very slow
# 還可以用TFramedTransport,也是高效傳輸方式
transport = TTransport.TBufferedTransport(transport)
# Wrap in a protocol
#傳輸協議和傳輸過程是分離的,可以支持多協議
protocol = TBinaryProtocol.TBinaryProtocol(transport)
#客戶端代表一個用戶
client = Hbase.Client(protocol)
#打開連接
try:
transport.open()
scan.filterString=filter
scanner = client.scannerOpenWithScan(table, scan)
except Exception:
finally:
client.scannerClose(scan)
transport.close()
連接代碼網上一搜一大堆,非原創,來源已不可考,非本人研究成果;
關鍵就是這個:”RowFilter(=,’regexstring:.3333.’)”
這個過濾器要寫對,hbase有十幾種內置的過濾器方法,有幾種比較運算符和比較器,上面這個是正則方式,即’regexstring:.3333.’;
過濾器整個雙引號裏面的內容會通過thrift傳給hbase服務端處理,下劃線這部分正則要支持java的正則要求不然會報錯
Python訪問hbase集群
HBase-thrift項目是對HBase Thrift接口的封裝,屏蔽底層的細節,使用戶可以方便地通過HBase Thrift接口訪問HBase集群,python通過thrift訪問HBase。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/219627.html