通过Thrift用Python访问HBase

本文档详细介绍了如何在CentOS 7.4环境下,通过Python使用Thrift连接并操作HBase数据库。内容包括安装Thrift及其依赖(如autoconf, automake, bison, boost, libevent等),开启HBase的Thrift服务,以及编写Python测试脚本进行连接和查询。" 116240877,9232759,C++初始化列表的关键应用场景,"['C++编程知识', '初始化', '构造函数', '引用', 'const']

用Python直接连接HBase时,需要通过Thrift作为中转,才能使用Python访问HBase。

经过一番折腾,按照网上的多个经验成功使用Python访问到HBase,整理汇总如下: 

配置环境: 

  • 操作系统:CentOS Linux release 7.4.1708(Core)
  • Python: 3.6.4
  • HBase: 1.4.1
  • Thrift: 0.11.0

配置步骤: 

1.   安装Thrift的依赖组件:

        A.    安装autoconf

                下载autoconf ,如autoconf-2.69.tar.gz

                tar xvf autoconf-2.69.tar.gz

                cd autoconf-2.69

                ./configure --prefix=/usr

                make

                make install

        B.    安装automake

                下载automake,如automake-1.15.tar.gz

                tar xvf automake-1.15.tar.gz

                cd automake-1.15

                ./configure --prefix=/usr

                make

                make install

       C.   安装bison

                下载bison,如bison-3.0.4.tar.gz

                tar xvf bison-3.0.4.tar.gz

                cd bison-3.0.4

                ./configure --prefix=/usr

                make

                make install

       D.   安装C++依赖库

                yum -y install libevent-develzlib-devel openssl-devel

       E.    安装boost (这个时间很长,需耐心等待)

                下载boost,如boost_1_66_0.tar.gz

                tar xvf boost_1_66_0.tar.gz

                cd boost_1_66_0

                ./bootstrap.sh --prefix=/usr

                ./b2 install

       F.    安装libevent

                下载libevent,如libevent-2.1.8-stable.tar.gz

                tar xvf libevent-2.1.8-stable.tar.gz

                cd libevent-2.1.8-stable

                ./configure --prefix=/usr

                make

                make install

2.   安装Thrift

       下载thrift,如thrift-0.11.0.tar.gz

       tar xvf thrift-0.11.0.tar.gz

       cd thrift-0.11.0

       ./configure --prefix=/usr--with-libevent=/usr --with-boost=/usr

       make

       make install

3.   安装six组件包

       下载six,如six-1.11.0.tar.gz

       tar xvf six-1.11.0.tar.gz

       cd six-1.11.0

       python setup.py install 

       安装成功后,使用 pip list 指令检查是否存在six组件包

       注意:这句脚本安装的组件包会安装在对应的python执行程序的版本上

4.   开启HBase对Thrfit的支持

       cd $HBASE_HOME/bin

       ./hbase-daemon.sh startthrift

       启动成功后,使用jps查看是否有ThriftServer进程

5.   在python终端编写连接hbase的测试脚本:

       >>>from thrift import Thrift

       >>>from thrift.transport import TSocket, TTransport

       >>>from thrift.protocol import TBinaryProtocol

       >>>from hbase import Hbase

       >>>transport = TSocket.TSocket('127.0.0.1', 9090)

       >>>transport.setTimeout(50000)

       >>>trans = TTransport.TBufferedTransport(transport)

       >>>protocol = TBinaryProtocol.TBinaryProtocol(trans)

       >>>client = Hbase.Client(protocl)

       >>>transport.open()

       >>>client.getTableNames()

        注:最终的结果将显示所有的数据表,说明能够访问到HBase数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值