欧美成人午夜免费全部完,亚洲午夜福利精品久久,а√最新版在线天堂,另类亚洲综合区图片小说区,亚洲欧美日韩精品色xxx

扣丁學(xué)堂Python培訓(xùn)簡述Python利用thrift服務(wù)讀取hbase數(shù)據(jù)的方法

2019-10-08 10:55:58 6683瀏覽

因工作需要,Python開發(fā)工程師們在工作中會遇到用Python通過hbase的thrift服務(wù)讀取Hbase表數(shù)據(jù),在公司的測試環(huán)境不支持的情況下就需要我們自己動(dòng)手準(zhǔn)備環(huán)境,本篇文章扣丁學(xué)堂Python培訓(xùn)小編就給讀者們分享一下Python利用thrift服務(wù)讀取hbase數(shù)據(jù)的方法,希望對小伙伴們有幫助。


扣丁學(xué)堂Python培訓(xùn)簡述Python利用thrift服務(wù)讀取hbase數(shù)據(jù)的方法


安裝過程如下:


1、首先確保hbase安裝測試成功,再者確認(rèn)下hbase的thrift服務(wù)是否啟動(dòng),注意目前的Hbase(本文基于版本0.98.17)有兩套thrift接口thrift和thrift2,本文使用thrift,啟動(dòng)命令:hbase thrift -p 9090 start,確保該端口沒有被占用,使用lsof -i:9090查看),本公司測試環(huán)境該端口被占用,如果被占用換一個(gè)沒有被占用的端口即可;


2、安裝thrift,去官網(wǎng)下載,這里我們使用thrift-0.10.0.tar.gz ,下載好后編譯安裝,解壓后進(jìn)入安裝目錄/home/hadoop/thrift-0.10.0,分別執(zhí)行./configure make,make,sudo make install,注意這邊可能因各環(huán)境不同可能遇到問題,具體安裝所需環(huán)境請參考官網(wǎng),安裝之后可以用thrift -version命令測試是否安裝成功,安裝成功后會顯示安裝的版本;


3、確保1和2沒有問題,接下來需要生成python腳本需要導(dǎo)入的hbase相關(guān)模塊,首先去官網(wǎng)下載hbase源碼,注意雖然本公司用的hbase版本是0.98.17但是只要版本相差不大都可以使用,我們使用的是 hbase-0.98.24-src.tar.gz,下載解壓后找到thrift目錄:hbase-0.98.24/hbase-thrift/src/main/resources/org/apache/hadoop/hbase,該目錄下有兩個(gè)thrift服務(wù),進(jìn)入thrift后執(zhí)行thrift --gen pyHbase.thrift,不出現(xiàn)問題會在該thrift目錄下生成目錄 gen-py,里面具體是hbase模塊,將該目錄名稱改為hbase,并拷貝進(jìn)python模塊包:cp -r hbase /usr/lib/python2.7/site-packages/,至此python需要使用的hbase模塊已經(jīng)準(zhǔn)備好;


4、寫python腳本測試


#! /usr/bin/python
import sys
sys.path.append('/usr/lib/python2.7/site-packages/hbase') # 引入正確的hbase模塊路徑,測試過可刪除
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('101.71.51.221', 9099)
transport = TTransport.TBufferedTransport(transport)
 
protocol = TBinaryProtocol.TBinaryProtocol(transport)
 
client = Hbase.Client(protocol)
 
transport.open()
 
tableName = 'hb_vender'
rowKey = '17_bcc5f02a876b010cbcd3fb2f82ab5b8e_43_111_57_437b9e2a-257c-4115-9570-bcd61741b3dc'
 
result = client.getRow(tableName, rowKey, None)
print result
for r in result:
	print 'the row is ' , r.row
	print 'the values is ' , r.columns.get('a:venderName').value


注意這邊可能出現(xiàn):ImportError: No module named six,因?yàn)樾枰惭bsix,如果已經(jīng)安裝pip,使用pip install six,如果沒有安裝用root執(zhí)行安裝:easy_install six,安裝成功后執(zhí)行腳本測試成功!


想要了解更多關(guān)于Python和人工智能方面內(nèi)容的小伙伴,請關(guān)注扣丁學(xué)堂Python培訓(xùn)官網(wǎng)、微信等平臺,扣丁學(xué)堂IT職業(yè)在線學(xué)習(xí)教育平臺為您提供權(quán)威的Python開發(fā)環(huán)境搭建視頻,Python培訓(xùn)后的前景無限,行業(yè)薪資和未來的發(fā)展會越來越好的,扣丁學(xué)堂老師精心推出的Python視頻教程定能讓你快速掌握Python從入門到精通開發(fā)實(shí)戰(zhàn)技能??鄱W(xué)堂Python技術(shù)交流群:279521237。


扣丁學(xué)堂微信公眾號                          Python全棧開發(fā)爬蟲人工智能機(jī)器學(xué)習(xí)數(shù)據(jù)分析免費(fèi)公開課直播間


      【關(guān)注微信公眾號獲取更多學(xué)習(xí)資料】         【掃碼進(jìn)入Python全棧開發(fā)免費(fèi)公開課】



查看更多關(guān)于"Python開發(fā)資訊"的相關(guān)文章>


標(biāo)簽: Python培訓(xùn) Python視頻教程 Python在線視頻 Python學(xué)習(xí)視頻 Python培訓(xùn)班

熱門專區(qū)

暫無熱門資訊

課程推薦

微信
微博
15311698296

全國免費(fèi)咨詢熱線

郵箱:codingke@1000phone.com

官方群:148715490

北京千鋒互聯(lián)科技有限公司版權(quán)所有   北京市海淀區(qū)寶盛北里西區(qū)28號中關(guān)村智誠科創(chuàng)大廈4層
京ICP備2021002079號-2   Copyright ? 2017 - 2022
返回頂部 返回頂部