python hbase_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()

最后结果如图

932932-20170628234939743-146955804.png

看到获取的表明说明连接成功,并且可以查询,接下来就要去猛找python操作hbase的相关api了,先眯一会儿,稍后继续.....

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值