python提取hbase数据_详解python操作hbase数据的⽅法介绍配置 thrift
python使⽤的包 thrift
个⼈使⽤的python 编译器是pycharm community edition. 在⼯程中设置中,到project interpreter, 在相应的⼯程下,到package,然后选择 “+” 添加, 搜索 hbase-thrift (Python client for HBase Thrift interface),然后安装包。
安装服务器端thrift。
参考官⽹,同时也可以在本机上安装以终端使⽤。
thrift Getting Started
也可以参考安装⽅法 python 调⽤HBase 范例
⾸先,安装thrift
下载thrift,这⾥,我⽤的是thrift-0.7. 这个版本
tar xzf thrift-0.7.
cd thrift-0.7.0-dev
sudo ./configure –with-cpp=no –with-ruby=no
thriftsudo make
sudo make install
然后,到HBase的源码包⾥,到
src/main/resources/org/apache/hadoop/hbase/thrift/
执⾏
thrift –gen py Hbase.thrift
mv gen-py/hbase/ /usr/lib/python2.4/site-packages/ (根据python版本可能有不同)
获取数据⽰例 1# coding:utf-8
from thrift import Thrift
ansport import TSocket
ansport import TTransport
from thrift.protocol import TBinaryProtocol
from hbase import Hbase
# pes import ColumnDescriptor, Mutation, BatchMutation
pes import *
import csv
def client_conn():
# Make socket
transport = TSocket.TSocket('hostname,like:localhost', port)
# Buffering is critical. Raw sockets are very slow
transport = TTransport.TBufferedTransport(transport)
# Wrap in a protocol
protocol = TBinaryProtocol.TBinaryProtocol(transport)
# Create a client to use the protocol encoder
client = Hbase.Client(protocol)
# Connect!
transport.open()
return client
if __name__ == "__main__":
client = client_conn()
# r = RowWithColumns('table name', 'row name', ['column name'])
# print(r[0].('column name')), type((r[0].('column name')))
result = Row("table name","row name")
data_simple =[]
# print result[0].columns.items()
for k, v in result[0].columns.items(): #.keys()
#data.append((k,v))
# print type(k),type(v),v.value,,v.timestamp
data_simple.append((v.timestamp, v.value))
writer.writerows(data)
csvfile.close()
csvfile_simple = open("data_xy_simple.csv", "wb")
writer_simple = csv.writer(csvfile_simple)
writer_simple.writerow(["timestamp", "value"])
writer_simple.writerows(data_simple)
csvfile_simple.close()
print "finished"
会基础的python应该知道result是个list,result[0].columns.items()是⼀个dict 的键值对。可以查询相关资料。或者通过输出变量,观察变量的值与类型。
说明:上⾯程序中 transport.open()进⾏链接,在执⾏完后,还需要断开transport.close()
⽬前只涉及到读数据,之后还会继续更新其他dbase操作。
以上就是详解python操作hbase数据的⽅法介绍的详细内容,更多请关注Gxl⽹其它相关⽂章!
本条技术⽂章来源于互联⽹,如果⽆意侵犯您的权益请点击此处反馈版权投诉
本⽂系统来源:php中⽂⽹
TAG标签:python
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论