happybase简单使用

之前工作中用到了kafka和hbase进行数据实时同步,用的javaAPI,这边自己想用python简单实现下。

hbase是目前大数据领域比较火的列存储数据库,提供了原生的JavaAPI。如果其他语言想要编写客户端,需要用到thrift接口服务器(不太稳定并且性能也不理想,根据官方文档,thrift很可能被抛弃???)。

1.在Linux中安装Thrift(指定版本):

(1)下载thrift  (  http://archive.apache.org/dist/thrift/  )

去下载thrift安装包,选择自己需要的 版本 (我安装的是 0.9.1)

下载thrift-0.9.1.tar.gz(压缩包)

(2)解压thrift-0.9.1.tar.gz

    进入解压后的文件件,再执行以下步骤

(3)安装thrift依赖的其他软件包

使用sudo yum install 命令进行安装

sudo yum install libboost-dev libboost-test-dev libboost-program-options-dev libevent-dev automake libtool flex bison pkg-config g++ libssl-dev

如果后面编译有问题,可能还需要:

yum install gcc build-essential

yum install gcc gcc-c++ autoconf automake

(4)开始安装thrift

 a)  运行软件根目录下的configure脚本

 $ ./configure

$ make

$ make install

一顿折腾 终于搞定

(5)测试thrift是否安装成功

输入 $ thrift -version命令,查看输出信息判断thrift是否安装成功

Thrift version 0.9.1

接下来启动ThriftServer:

sh hbase-daemon.sh start thrift

jps命令查看下 会有个ThriftServer进程 测试连接通了说明搞定

2.使用happybase

先看一眼happybase的demo:


很简洁,也可以使用ConnectionPool连接池来创建连接,连接池对象支持with as管理上下文

查询:

首先需要得到一个table对象

table.row:指定rowkey查询

table.rows:根据rowkey列表批量查询

table.scan:可以根据row_start和row_stop查询,也可以使用row_prefix模糊查询

返回的value字典内的字段都是bytes类型,需要解码

提交:

table.put(rowkey,value)

也可以使用table.batch()进行批量提交

其他API使用可以查看源码或者参考https://blog.csdn.net/xc_zhou/article/details/80868332 比较全

你可能感兴趣的:(happybase简单使用)