首页 今日头条正文

之前做项目都是运用java联接操作 hbase 的,或许偶然用 python 写几个一些简略的 put、get 操作。最近在运用mysql库99电影网,Hadoop大数据分析之用python联接并操作hbase,多米诺骨牌批量向 hbase 导入数据,想运用python试一下。HBase是Apache的Hadoop项目的子项,HBase不同于一般的联系数据库,它是一个适合于非结构化数据存储的99电影网,Hadoop大数据分析之用python联接并操作hbase,多米诺骨牌数据库,适合于非结构化数据存储,另一个不同的是HBase根据列的而不是根据99电影网,Hadoop大数据分析之用python联接并操作hbase,多米诺骨牌行的开源数据库99电影网,Hadoop大数据分析之用python联接并操作hbase,多米诺骨牌。HappyBase 是 FaceBook 职工开发的操作 HBas帝王至宝e 的 Python 库,其根据 Python Thrift,但运用办法比 Thrift 简略、简练许多,已被广泛运用。Python调用happybase库或hbase-thrift库运用thrift操作Hbase,thrift 是facebook开发并开源的一个二进制通讯中间件。

发动hbase thriftserver效劳

hbase自身现已集成了thrift,可与第三方运用通讯。运用以下指令敞开hbase thrift的效劳铭铭胶水器端,默许情况下rpc监听9090端口. hbase十三张随身赛-daemon.sh 景煊唐槐start thrift2

检查webui:

http://ip:9095/

办法一 运用happybase 联接hbase

使兰定远站用pip装置依靠:

pip install thrift

pip install happybase

happybase.Connection(host='localhost', port=9090, timeo洗瓶机课程设计ut=None, autoconnect=True, table_prefix=None, table_prefix_separator=b'_', compat='0.98', transport='buffered', protocol='binary')

其star481中host:主机名,port:九息端口,timeout:超时时刻,autoconnect:联接是否直接翻开,table_prefix:用于构造表名的前缀,table_prefix_separator:用于table_prefix的分隔符,compat:兼容形式,transport:运送形式,protocol:协议。

联接示例代码:

import happybase

connection = happybase食物相克与相宜大全集.Connection('localhost', compat='0.90')

connection.open()

print 99电影网,Hadoop大数据分析之用python联接并操作hbase,多米诺骨牌connection.tables()

table = connection.table('test_table')

row = table.row('row1', columns=['da洛云霜ta:1'])

print row['data:1']

for key, data in table.scan():

print key, data

connection.close()

办法二运用hbase-thrift 联接hbase

sudo pip install thrift

sudo pip install hbase-thrift

联接示例高叉比基尼代码:

from thrift.transport import TSocket, TTrans榴友姜志光port

from thrift99电影网,Hadoop大数据分析之用python联接并操作hbase,多米诺骨牌.protocol import TBinaryProtocol

fr尹家壁om hbase import Hbase

from thrift import Th野彼得rift

from99电影网,Hadoop大数据分析之用python联接并操作hbase,多米诺骨牌 hbase.ttypes import ColumnDescriptor, Mutation, BatchMutation, TRegionInfo

from hbase.ttypes import IOError, AlreadyExists

transport = TSocket.TSocket('localhost', 9090)

trans啪啪啪好爽port.setTi快瞄meout(500直播之万能宠物王0)

trans = TTransport.TBufferedTransport(transport)

protocol = TBinaryProtocol.TBinaryProtocol(trans)

client = Hbase.Clien九十九文乃t(protocol)

transport.open()

client.getTableNames()

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。