python 操作 hbase


python 是萬能的,當然也可以通過api去操作big database 的hbase了,python是通過thrift去訪問操作hbase

 

以下是在centos7 上安裝操作,前提是hbase已經搭建成功了

1.安裝thrift模塊

  下載thrift:https://pypi.python.org/packages/a3/ea/84a41e03f1ab14fb314c8bcf1c451090efa14c5cdfb9797d1079f502b54e/thrift-0.10.0.zip#md5=76bb768a210257dd203923110042e560

        這里可以進入python依賴庫選擇合適的thrift版本,我這里是0.10.0

        解壓安裝: unzip thrift-0.10.0.zip

         cd thrift-0.10.0  && python setup.py install

  驗證是否安裝成功,進入python 操作窗口,直接python ,然后 import thrift,沒有異常則安裝thrift模塊成功

 

2.或許你hbase安裝的是已經編譯好的bin文件,下載好對應版本的hbase源碼包就是src那個 解壓進入

cd  hbase-1.3.0/hbase-thrift/src/main/resources/org/apache/hadoop/hbase/thrift

  里面有一個Hbase.thrift文件 ,執行

thrift -gen py Hbase.thrift

執行后會有gen-py文件夾,cp里面文件到指定python-site處

cp -R hbase /usr/lib/python2.7/site-packages/

  

3. 啟動hbase的thrift服務,一般在HMaster上啟動

hbase-daemon.sh start thrift

 

編輯python文件連接hbase並且操作查詢,如下:

from thrift import Thrift
from thrift.transport import TSocket, TTransport
from thrift.protocol import TBinaryProtocol
from hbase import Hbase

#server端地址和端口,web是HMaster也就是thriftServer主機名,9090是thriftServer默認端口
transport = TSocket.TSocket('web', 9090)
#可以設置超時
transport.setTimeout(5000)
#設置傳輸方式(TFramedTransport或TBufferedTransport)
trans = TTransport.TBufferedTransport(transport)
#設置傳輸協議
protocol = TBinaryProtocol.TBinaryProtocol(trans)
#確定客戶端
client = Hbase.Client(protocol)
#打開連接
transport.open()

from hbase.ttypes import ColumnDescriptor, Mutation, BatchMutation, TRegionInfo
from hbase.ttypes import IOError, AlreadyExists

#獲取表名
client.getTableNames()

  

最后結果如圖

 

看到獲取的表明說明連接成功,並且可以查詢,接下來就要去猛找python操作hbase的相關api了,先眯一會兒,稍后繼續.....

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM