本項目封裝 HBase Thrift 接口,屏蔽底層細節,提供便捷的 C++ 客戶端操作,並進行了讀寫效能測試。基於 HBase 0.92.x Thrift 接口開發。
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
wget https://www.fayea.com/apache-mirror/hbase/hbase-0.92.1/hbase-0.92.1.tar.gz
tar zxvf hbase-0.92.1.tar.gz
# 使用 Hbase.thrift 生成客戶端代碼
class HbCli {
public:
// 構造/析構
HbCli(const char* server, const char* port);
~HbCli();
// 連接管理
bool connect();
bool disconnect();
bool reconnect();
inline bool isconnect();
// DDL 操作
bool createTable(const std::string table, const ColVec& columns);
bool deleteTable(const std::string table);
bool tableExists(const std::string table);
// DML 操作
// ...
};
項目適合需要從 C++ 應用高效訪問 HBase 集群的場景。