使用HBase进行行分页

使用HBase进行行分页,hbase,Hbase,有没有基于行键在HBase中进行分页的方法 我希望与使用SELECT*FROM table LIMIT 10 OFFSET 10的SQL中的效果相同 如果这是不可能的,我应该如何最好地设计我的行键以进行适当的查询?您可以使用页面过滤器来实现这一点。创建PageFilter实例时,指定一个pageSize参数,该参数控制每页应返回多少行 过滤器过滤器=新的页面过滤器(10) 如果您希望通过HBase shell执行此操作,您可以在扫描查询中使用LIMIT: 扫描'table',LIMIT=>10使

有没有基于行键在HBase中进行分页的方法

我希望与使用SELECT*FROM table LIMIT 10 OFFSET 10的SQL中的效果相同


如果这是不可能的,我应该如何最好地设计我的行键以进行适当的查询?

您可以使用页面过滤器来实现这一点。创建PageFilter实例时,指定一个pageSize参数,该参数控制每页应返回多少行

过滤器过滤器=新的页面过滤器(10)

如果您希望通过HBase shell执行此操作,您可以在扫描查询中使用LIMIT:


扫描'table',LIMIT=>10

使用ColumnPaginationFilter怎么样

scan 't1', {FILTER => org.apache.hadoop.hbase.filter.ColumnPaginationFilter.new(<count>, <start_offset>)}
scan't1',{FILTER=>org.apache.hadoop.hbase.FILTER.columnPaginiationFilter.new(,)}

比如说,我如何从第11排到第20排?没有办法按数字来做。正如你所说,我找到了一种按顺序使用
PageFilter
的方法。为了获得下一组行,我获取上一次扫描返回的最后一个rowkey,然后在第二次扫描中将其用作
starkey
。行键是HBase中任何类型的唯一索引。我还在想是否有更好的方法来实现这一点。若我发现了什么把戏,我会告诉你们的。若我有理由投反对票,那个将是一种真正的反对票。没有任何理由/建议的否决票是没有任何帮助的!ColumnPaginationFilter用于分页列。。不是排