python利用thrift服务读取hbase数据的方法


Posted in Python onDecember 27, 2018

因工作需要用python通过hbase的thrift服务读取Hbase表数据,发现公司的测试环境还不支持,于是自己动手准备环境,在此我将在安装步骤尽可能描述清楚,旨在给第一次动手安装的朋友,此过程亲测成功!

安装过程如下:

1、首先确保hbase安装测试成功,再者确认下hbase的thrift服务是否启动,注意目前的Hbase(本文基于版本0.98.17)有两套thrift接口thrift和thrift2,本文使用thrift,启动命令:hbase thrift -p 9090 start,确保该端口没有被占用,使用lsof -i:9090查看),本公司测试环境该端口被占用,如果被占用换一个没有被占用的端口即可;

2、安装thrift,去官网下载thrift:http://thrift.apache.org/download,本人使用 thrift-0.10.0.tar.gz ,下载好后编译安装,解压后进入安装目录/home/hadoop/thrift-0.10.0,分别执行./configure make,make,sudo make install,注意这边可能因各环境不同可能遇到问题,具体安装所需环境请参考官网:http://thrift.apache.org/docs/install/centos,安装之后可以用thrift -version命令测试是否安装成功,安装成功后会显示安装的版本;

3、确保1和2没有问题,接下来需要生成python脚本需要导入的hbase相关模块,首先去官网下载hbase源码,注意虽然本公司用的hbase版本是0.98.17但是只要版本相差不大都可以使用,本人使用的是 hbase-0.98.24-src.tar.gz,下载解压后找到thrift目录:hbase-0.98.24/hbase-thrift/src/main/resources/org/apache/hadoop/hbase,该目录下有两个thrift服务,进入thrift后执行thrift --gen pyHbase.thrift,不出现问题会在该thrift目录下生成目录 gen-py,里面具体是hbase模块,将该目录名称改为hbase,并拷贝进python模块包:cp -r hbase /usr/lib/python2.7/site-packages/,至此python需要使用的hbase模块已经准备好;

4、写python脚本测试

#! /usr/bin/python
import sys
sys.path.append('/usr/lib/python2.7/site-packages/hbase') # 引入正确的hbase模块路径,测试过可删除
from thrift import Thrift
from thrift.transport import TSocket
from thrift.transport import TTransport
from thrift.protocol import TBinaryProtocol
from hbase import Hbase
from hbase.ttypes import *
 
transport = TSocket.TSocket('101.71.51.221', 9099)
transport = TTransport.TBufferedTransport(transport)
 
protocol = TBinaryProtocol.TBinaryProtocol(transport)
 
client = Hbase.Client(protocol)
 
transport.open()
 
tableName = 'hb_vender'
rowKey = '17_bcc5f02a876b010cbcd3fb2f82ab5b8e_43_111_57_437b9e2a-257c-4115-9570-bcd61741b3dc'
 
result = client.getRow(tableName, rowKey, None)
print result
for r in result:
	print 'the row is ' , r.row
	print 'the values is ' , r.columns.get('a:venderName').value

注意这边可能出现:ImportError: No module named six,因为需要安装six,如果已经安装pip,使用pip install six,如果没有安装用root执行安装:easy_install six,安装成功后执行脚本测试成功!

以上这篇python利用thrift服务读取hbase数据的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python django集成cas验证系统
Jul 14 Python
python压缩文件夹内所有文件为zip文件的方法
Jun 20 Python
python读取Excel实例详解
Aug 17 Python
利用python提取wav文件的mfcc方法
Jan 09 Python
如何用Python做一个微信机器人自动拉群
Jul 03 Python
Django中如何使用sass的方法步骤
Jul 09 Python
python把ipynb文件转换成pdf文件过程详解
Jul 09 Python
Django 反向生成url实例详解
Jul 30 Python
python numpy--数组的组合和分割实例
Feb 24 Python
ipython jupyter notebook中显示图像和数学公式实例
Apr 15 Python
5行Python代码实现图像分割的步骤详解
May 25 Python
python openCV自制绘画板
Oct 27 Python
python hbase读取数据发送kafka的方法
Dec 27 #Python
Python类和对象的定义与实际应用案例分析
Dec 27 #Python
在python环境下运用kafka对数据进行实时传输的方法
Dec 27 #Python
kafka-python批量发送数据的实例
Dec 27 #Python
Python闭包思想与用法浅析
Dec 27 #Python
对python操作kafka写入json数据的简单demo分享
Dec 27 #Python
python消费kafka数据批量插入到es的方法
Dec 27 #Python
You might like
php格式化日期和时间格式化示例分享
2014/02/24 PHP
PHP实现把文本中的URL转换为链接的auolink()函数分享
2014/07/29 PHP
PHP+JavaScript实现无刷新上传图片
2017/02/21 PHP
PHP实现时间比较和时间差计算的方法示例
2017/07/24 PHP
PHP递归算法的简单实例
2019/02/28 PHP
PHP判断当前使用的是什么浏览器(推荐)
2019/10/27 PHP
贴一个在Mozilla中常用的Javascript代码
2007/01/09 Javascript
Firefox和IE浏览器兼容JS脚本写法小结
2008/07/07 Javascript
Ext grid 添加右击菜单
2009/11/26 Javascript
jQuery+ajax实现顶一下,踩一下效果
2010/07/17 Javascript
用jquery和json从后台获得数据集的代码
2011/11/07 Javascript
js点击出现悬浮窗效果不使用JQuery插件
2014/01/20 Javascript
Extjs grid添加一个图片状态或者按钮的方法
2014/04/03 Javascript
谈谈JavaScript异步函数发展历程
2015/09/29 Javascript
js实现本地图片文件拖拽效果
2017/07/18 Javascript
微信小程序实现验证码获取倒计时效果
2018/02/08 Javascript
Vue下拉框回显并默认选中随机问题
2018/09/06 Javascript
详解npm 配置项registry修改为淘宝镜像
2018/09/07 Javascript
Node.js 的 GC 机制详解
2019/06/03 Javascript
解决vuex刷新数据消失问题
2020/11/12 Javascript
[58:23]LGD vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python中OrderedDict的使用方法详解
2017/05/05 Python
Python实现Mysql数据统计及numpy统计函数
2019/07/15 Python
Python 中pandas索引切片读取数据缺失数据处理问题
2019/10/09 Python
英国的领先快速时尚零售商:In The Style
2019/03/25 全球购物
Linux如何压缩可执行文件
2013/10/21 面试题
大专计算机个人求职的自我评价
2013/10/21 职场文书
汽车技术服务与营销专业推荐信
2013/11/29 职场文书
写给女朋友的检讨书
2014/01/28 职场文书
优秀士兵先进事迹
2014/02/06 职场文书
益达广告词
2014/03/14 职场文书
应届毕业生自荐信
2014/05/28 职场文书
法律意见书范文
2015/06/04 职场文书
学习心得体会
2019/06/20 职场文书
年会邀请函的格式及范文五篇
2019/11/02 职场文书
css 边框添加四个角的实现代码
2021/10/16 HTML / CSS