当前位置:天才代写 > tutorial > C语言/C++ 教程 > HBase Thrift 接口的C++客户端

HBase Thrift 接口的C++客户端

2017-11-02 08:00 星期四 所属: C语言/C++ 教程 浏览:59

hbase-thrift 项目是对HBase Thrift接口的封装,屏蔽底层的细节,利用户可以利便地通过HBase Thrift接口会见HBase集群,同时基于此对C++客户端读写的效率举办了简朴的测试。

hbase-thrift项目是对HBase Thrift接口的封装,屏蔽底层的细节,利用户可以利便地通过HBase Thrift接口会见HBase集群,同时基于此对C++客户端读写的效率举办了简朴的测试。该项目今朝基于的是HBase thrift接口,至于HBase 0.94版本中的HBase thrift2接口,后续再思量进一步的支持。

HBase Thrift
HBase Thrift

前提条件

1)下载,解压,安装 thrift-0.8.0。

wget https://dist.apache.org/repos/dist/release/thrift/0.8.0/thrift-0.8.0.tar.gz
tar zxvf thrift-0.8.0.tar.gz
sudo yum install automake libtool flex bison pkgconfig gcc-c++ boost-devel libevent-devel zlib-devel python-devel ruby-devel
cd thrift-0.8.0
./configure
make
sudo make install

2)下载,解压 hbase-0.92.1 或之前的版本,用户按照Hbase.thrift文件生成客户端thrift接口代码实现。

wget http://www.fayea.com/apache-mirror/hbase/hbase-0.92.1/hbase-0.92.1.tar.gz

tar zxvf hbase-0.92.1.tar.gz

接话柄现

今朝已封装实现的接口如下:

class HbCli {
  public:
    // Constructor and Destructor
    HbCli(const char *server, const char *port);
    ~HbCli();

// Util Functions
bool connect();
bool disconnect();
bool reconnect();
inline bool isconnect();

// HBase DDL Functions
bool createTable(const std::string table, const ColVec &columns);
bool deleteTable(const std::string table);
bool tableExists(const std::string table);

// HBase DML Functions
//

1)运行thrift呼吁,生成C++模块的客户端代码:

thrift –gen cpp [hbase-root]/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift

2)执行make生成二进制措施:

make demo

make perf

3)执行二进制措施:

./demo <host> <port>

./testput <host> <port> <key_len> <val_len> <list_num>

./testget <host> <port> <key_len> <val_len> <list_num> <block_cache_flag>

临时更新这些内容,感乐趣的,详见:https://github.com/ypf412/hbase-thrift

 


 


天才代写-代写联系方式