溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

利用Python調(diào)用HBASE

發(fā)布時(shí)間:2020-07-19 12:48:05 來(lái)源:網(wǎng)絡(luò) 閱讀:1350 作者:DBAspace 欄目:大數(shù)據(jù)

利用Python調(diào)用HBASE的 需要安裝thrift hbase-thrift 

啟動(dòng)hbase的thrift服務(wù):bin/hbase-daemon.sh start thrift 默認(rèn)端口是9090

mysql 到hbase的數(shù)據(jù)同步:

1、put 

2、Importtsv

3、編寫(xiě)MapReduce Job導(dǎo)入

4、sqoop

簡(jiǎn)單code:

#!/usr/bin/env python

#coding=utf-8

import sys

sys.path.append('/usr/lib/python2.6/site-packages/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 *

import csv

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

from hbase.ttypes import IOError, AlreadyExists

######

def client_conn():

transport=TSocket.TSocket("172.16.10.87",9090)

transport=TTransport.TBufferedTransport(transport)

protocol=TBinaryProtocol.TBinaryProtocol(transport)

client=Hbase.Client(protocol)

transport.open()

return client

def __del__():

transport.close()


if __name__=="__main__":

client=client_conn()

#獲取表名字

print client.getTableNames()

##創(chuàng)建表

#client.createTable('name2',[ColumnDescriptor(name="user_id:",maxVersions=1),ColumnDescriptor(name="user_name"),])

#寫(xiě)入數(shù)據(jù)

client.mutateRow('name2','a1',[Mutation(column='user_id:1',value="1")])

client.mutateRow('ca_record','1',[Mutation(column='user_id:0',value='5')])

##獲取數(shù)據(jù)


aa=client.getRow('name2','a1')

for r in aa:

   print 'row',r.row 

   print '\br'

   print 'value',r.columns.get("user_id:1").value

##刪除表

#client.disableTable("t1")

#client.deleteTable("t1")

print client.getTableNames()

###獲取表的行鍵值

#print client.scannerGet(client.scannerOpen('t2',"cmd",["a"]))

print client.scannerGet(client.scannerOpen('t2',"",["a"])) #當(dāng)row key為空取第一個(gè)



print "------"

print client.getColumnDescriptors('t3')

#在自己開(kāi)發(fā)環(huán)境  只要安裝好thrift 及hbase-thrift的包,在import的時(shí)候不會(huì)出問(wèn)題

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI