C++ 如何通过thrift2 increment()实现原子递增? 返回的结果里面是TResult类中的值是string 且为空,查询不到值

C++ 如何通过thrift2 increment()实现原子递增? 返回的结果里面是TResult类中的值是string 且为空,查询不到值

HBase实现查询向前第N个数据,需要使用HBase的Scan API。在Thrift C++中,可以使用HBaseThrift接口来实现这个功能。以下是一个简单的示例代码,演示如何使用Thrift C++ API从HBase查询向前第N个数据: ```cpp #include <iostream> #include <thrift/transport/TSocket.h> #include <thrift/protocol/TBinaryProtocol.h> #include <thrift/Hbase.h> using namespace std; using namespace apache::thrift; using namespace apache::thrift::transport; using namespace apache::thrift::protocol; using namespace apache::hadoop::hbase::thrift; int main() { // 连接HBase shared_ptr<TTransport> socket(new TSocket("localhost", 9090)); shared_ptr<TTransport> transport(new TBufferedTransport(socket)); shared_ptr<TProtocol> protocol(new TBinaryProtocol(transport)); HbaseClient client(protocol); transport->open(); // 创建Scan对象 TScan scan; scan.__set_start_row("start_row_key"); scan.__set_stop_row("stop_row_key"); scan.__set_reversed(true); // 设置倒序扫描 scan.__set_caching(1); // 设置每次返回的行数为1 // 获取第N个数据 int count = 0; vector<TRowResult> rows; while (client.getScannerResults(rows, scan, 1)) { if (++count == N) { cout << "第" << N << "个数据为:" << rows[0].row << endl; break; } } // 关闭连接 transport->close(); return 0; } ``` 在上面的示例代码中,我们使用Thrift C++ API连接到HBase并创建了一个Scan对象。设置了start_row_key和stop_row_key,并将倒序扫描和每次返回一行数据。然后我们使用getScannerResults方法获取每一行数据,并在第N次获取数据时输出结果。最后关闭连接。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值