HBase python client
介绍
hbase 提供thrift接口,python可通过该接口和hbase通信。happybase是python基于thrift协议的一个hbase客户端库,其配置使用简单。使用步骤如下:
happybase 使用
- 启动hbase master 节点上的thrift接口服务:
|  |  | 
thrift默认端口是9090。
- 安装happybase - 1- $ pip install happybase
- python - 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22- import happybase hbase_host='10.0.48.219' conn = happybase.Connection(hbase_host) print conn.tables() conn.create_table('table_name', {'cf1': dict(), 'cf2': dict()}) t1 = conn.table('table_name') t1.put('row-key-1', {'cf1:name1':'value1'}) # t1.row('row-key-1') t1.delete('row-key-1') ''' 批量 ''' b=t1.batch() b.put(...) ... b.send()- 1
常见问题
- TTransportException: TTransportException(message=‘TSocket read 0 bytes’, type=4) - 原因:thrift 的server端和client端的协议不匹配造成的。 
- 解决: - 修改hbase-site.xml,禁用TFramedTransport和TCompactProtocol功能,即: - 1 2 3 4 5 6 7 8- <property> <name>hbase.regionserver.thrift.framed</name> <value>false</value> </property> <property> <name>hbase.regionserver.thrift.compact</name> <value>false</value> </property>