python 是万能的,固然也能够经过api去操做big database 的hbase了,python是经过thrift去访问操做hbasepython
如下是在centos7 上安装操做,前提是hbase已经搭建成功了web
1.安装thrift模块apache
下载thrift:https://pypi.python.org/packages/a3/ea/84a41e03f1ab14fb314c8bcf1c451090efa14c5cdfb9797d1079f502b54e/thrift-0.10.0.zip#md5=76bb768a210257dd203923110042e560centos
这里能够进入python依赖库选择合适的thrift版本,我这里是0.10.0api
解压安装: unzip thrift-0.10.0.zippython2.7
cd thrift-0.10.0 && python setup.py installoop
验证是否安装成功,进入python 操做窗口,直接python ,而后 import thrift,没有异常则安装thrift模块成功centos7
2.或许你hbase安装的是已经编译好的bin文件,下载好对应版本的hbase源码包就是src那个 解压进入code
cd hbase-1.3.0/hbase-thrift/src/main/resources/org/apache/hadoop/hbase/thrift
里面有一个Hbase.thrift文件 ,执行server
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了,先眯一下子,稍后继续.....