前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hbase Python 操作准备

Hbase Python 操作准备

作者头像
py3study
发布2020-01-08 16:41:45
8550
发布2020-01-08 16:41:45
举报
文章被收录于专栏:python3python3
代码语言:javascript
复制
网上的教程是Java操作hbase的实例,我这里使用python,所以之后的文章都是通过thrift API操作hbase   

1、安装apache thrift(根据自己系统选择安装) http://thrift.apache.org/docs/install/centos 按照上面步骤一步一步来,每一步都不能少,即使安装的有,也可以使用这些命令来检查安装的是否有问题,注意每一步涉及到安装的都需要使用sudo来运行,否则提示无权限。 但是在最后一步的时候,运行sudo make时,还是遇到了如下错误:

这里写图片描述
这里写图片描述

在网上搜索之后找到答案,进入lib/cpp/src/thrift/文件夹下,找到Thrift.h文件,在如图位置添加:#define __STDC_FORMAT_MACROS,之后再次进行make即可

这里写图片描述
这里写图片描述

验证thrift是否正确安装,输入命令:thrift –help查看帮助信息即可. 2、Thrift API 在网上很多人说在hbase根目录下存在Hbase.thrift文件,但是我没有找到,没办法,只能去官网下载https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/1.2.6/ hbase-1.2.6-src.tar.gz 这个文件,然后找到里面的hbase-thrift文件夹,解压出来,拷贝到任意目录,然后使用如下命令,生成python使用的Thrift API: thrift –gen py hbase-thrift/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrif 然后把生成的gen-py文件夹下的hbase文件夹,拷贝到python的包路径下(site-packages)就可以使用了。 后期修改:发现这个包生成的hbase包已经不能用了,需要使用pip安装hbase-thrift即可。 3、测试 1 开启thrift服务: hbase thrift start 2 编写python程序,操作数据库

代码语言:javascript
复制
# coding=utf-8
from thrift.transport.TSocket import TSocket
from thrift.transport.TTransport import TBufferedTransport
from thrift.protocol import TBinaryProtocol
from hbase import Hbase
host = 'localhost'
port = 9090
transport = TBufferedTransport(TSocket(host, port))
transport.open()
protocol = TBinaryProtocol.TBinaryProtocol(transport)
client = Hbase.Client(protocol)
print client.getTableNames()
transport.close()

3 运行结果: 使用hbase shell运行结果:

这里写图片描述
这里写图片描述

运行程序得到输出:

这里写图片描述
这里写图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
TDSQL MySQL 版
TDSQL MySQL 版(TDSQL for MySQL)是腾讯打造的一款分布式数据库产品,具备强一致高可用、全球部署架构、分布式水平扩展、高性能、企业级安全等特性,同时提供智能 DBA、自动化运营、监控告警等配套设施,为客户提供完整的分布式数据库解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档