Bigtable Scan.setReversed() 在 1.2.1 版中不起作用?
Bigtable Scan.setReversed() not working in version 1.2.1?
我正在使用 JAVA API 通过部分行键向后和向前扫描 Bigtable。此代码运行良好,但只能转发:
Scan s = new Scan();
s.setReversed(true);
s.setStartRow(rowKey);
s.setStopRow(rowKeyEnd);
ResultScanner scanner = tbl.getScanner(s);
for (Result row : scanner)
{
String rk = new String(row.getRow());
System.out.println("Row: " + rk);
}
似乎行 .setReversed(true);
本身没有任何影响,无论我是在设置开始和结束行键之前还是之后设置它。如果我在 .setStartRow()
和 .setStopRow()
中切换开始和结束行键,那么我会在迭代代码 (Result row : scanner)
:
中得到一个异常
原因:com.google.bigtable.repackaged.io.grpc.StatusRuntimeException:INVALID_ARGUMENT:字段 'row_ranges' 错误:元素 #0 错误:start_key 必须小于 end_key
据我从讨论中了解到 when reversing a Scan in HBase, which is the startKey and which is the stopKey?,反向扫描在 0.98 以下的版本中不起作用,但我在 Google 云控制台中看到我的服务器端版本为 1.2.1:
hbase(main):023:0>版本
1.2.1,r8d8a7107dc4ccbf36a92f64675dc60392f85c015,3 月 30 日,星期三 11:29:35 CDT 2016
此外,我的客户端 JAR 是 bigtable-hbase-1.2-0.9。4.jar
我的行键按以下方式格式化,作为测试:
约翰*1*XXX
约翰*2*XXX
约翰*3*XXX
请问有没有更好的方法来完成这个?
不幸的是,Bigtable does not support reverse scanning。 HBase API 大部分与 Cloud Bigtable 一致,但不是全部。您发现了 Bigtable 中缺少的功能之一。
我正在使用 JAVA API 通过部分行键向后和向前扫描 Bigtable。此代码运行良好,但只能转发:
Scan s = new Scan();
s.setReversed(true);
s.setStartRow(rowKey);
s.setStopRow(rowKeyEnd);
ResultScanner scanner = tbl.getScanner(s);
for (Result row : scanner)
{
String rk = new String(row.getRow());
System.out.println("Row: " + rk);
}
似乎行 .setReversed(true);
本身没有任何影响,无论我是在设置开始和结束行键之前还是之后设置它。如果我在 .setStartRow()
和 .setStopRow()
中切换开始和结束行键,那么我会在迭代代码 (Result row : scanner)
:
中得到一个异常
原因:com.google.bigtable.repackaged.io.grpc.StatusRuntimeException:INVALID_ARGUMENT:字段 'row_ranges' 错误:元素 #0 错误:start_key 必须小于 end_key
据我从讨论中了解到 when reversing a Scan in HBase, which is the startKey and which is the stopKey?,反向扫描在 0.98 以下的版本中不起作用,但我在 Google 云控制台中看到我的服务器端版本为 1.2.1:
hbase(main):023:0>版本 1.2.1,r8d8a7107dc4ccbf36a92f64675dc60392f85c015,3 月 30 日,星期三 11:29:35 CDT 2016
此外,我的客户端 JAR 是 bigtable-hbase-1.2-0.9。4.jar
我的行键按以下方式格式化,作为测试:
约翰*1*XXX
约翰*2*XXX
约翰*3*XXX
请问有没有更好的方法来完成这个?
不幸的是,Bigtable does not support reverse scanning。 HBase API 大部分与 Cloud Bigtable 一致,但不是全部。您发现了 Bigtable 中缺少的功能之一。