python 通过thrift访问hbase
2017-02-08 本文已影响1587人
我是Mr小赵先生
服务器环境
安装chd5.9.1
通过cloudera manager启用 HBase Thrift Server 实例,此时就可以通过thrift来访问hbase了。
客户端
在要访问hbase的电脑安装python,然后通过pip 安装thrift 和 hbase-thrift
pip install thrift
pip install hbase-thrift
例子
1、新建一个Hbase_client.py文件,然后将以下内容复制到里面
from thrift.transport import TSocket
from thrift.transport import TTransport
from thrift.protocol import TBinaryProtocol
from hbase import Hbase
from hbase.ttypes import *
class HbaseClient(object):
def __init__(self, host='HBase Thrift Server的ip地址', port=9090):
self.transport = TTransport.TBufferedTransport(TSocket.TSocket(host, port))
protocol = TBinaryProtocol.TBinaryProtocol(self.transport)
self.client = Hbase.Client(protocol)
def get_tables(self):
self.transport.open()
tables = self.client.getTableNames()
self.transport.close()
return tables
2、新建一个text.py文件然后输入一下内容
import Hbase_client as hc
client = hc.HbaseClient()
print client.get_tables()
3、运行text.py文件,就可以获取到hbase中所有的表了。
更多内容请参考 hbase thrift 接口文档https://wiki.apache.org/hadoop/Hbase/ThriftApi