4

我有以下形式的行键:

<name>--<zero-padded timestamp>

使用 HBASE shell 我想找到最后 15 个带有前缀的条目。

scan 'mytable', {LIMIT => 15, ROWPREFIXFILTER => 'name' }

给我前 15 个,但是:

scan 'mytable', {LIMIT => 15, REVERSED => TRUE, ROWPREFIXFILTER => 'name'}

返回零结果...

这种请求的语法是什么?

是否有可能,或者我是否必须做一些俗气的事情,比如使用 MAXINT-timestamp 作为我的行键来手动反转键顺序?

4

2 回答 2

3

我可以在 HBase shell 环境中执行你的查询命令,并得到预期的结果。但无法得到任何结果抛出 Java 客户端。我的 HBase 版本是 0.98。

使用带有 reversed = true 的 HBase 客户端扫描时存在错误,请参阅此 jira 问题hbase-client:scanner with reversed=true and small=true get no result

于 2016-10-18T05:48:42.337 回答
0

是的,我重现了这个问题,我的结果是一样的。

我使用的解决方法是更改ROWPREFILTER​​为STARTROWand ENDROW

于 2019-01-25T09:12:37.597 回答