c++访问hbase

Posted byxdaz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++访问hbase相关的知识,希望对你有一定的参考价值。

一、环境配置
1、  安装thrift

按照官网http://thrift.apache.org/要求及步骤配置安装thrift

2、  取出Hbase文件中的Hbase.thrift文件,是用thrift--gen <language> <Thrift filename>产生所需的cpp文件,将gen_cpp文件复制到工程目录下。其中Hbase.cpp是CPP版的thrift文件中的函数,Hbase_types.cpp是CPP版的thrift文件中的结构。

3、  Hbase启动thrift服务./bin/hbase-daemon.sh start thrift                默认监听地址9090

以上步骤做好之后就可使用C++连接hbase并对其中数据库进行操作了

二、操作步骤
1、  创建连接

boost::shared_ptr<TTransport>socket(new TSocket("host",port(int)));

boost::shared_ptr<TTransport>transport(new TBufferedTransport(socket));

boost::shared_ptr<TProtocol>protocol(new TBinaryProtocol(transport));

HbaseClient client(protocol);

transport->open();    失败返回0并抛出TException错误

 

2、  连接成功后,可以通过client调用Hbase.thrift中定义的函数对hbase进行操作

3、  断开连接

transport->close()     失败抛出TException错误

 

三、HbaseClient类中定义的结构及函数

以上是关于c++访问hbase的主要内容,如果未能解决你的问题,请参考以下文章

Hbase访问错误

Java访问Hbase

hbase可以访问hive里面的表吗

Spark访问与HBase关联的Hive表

HBase Java 客户端无法访问远程 HBase 区域服务器

使用 Pig 访问 Hbase