hbase如何按时间戳排序

vwkv1x7d  于 2021-06-09  发布在  Hbase
关注(0)|答案(2)|浏览(1291)

我想从hbase中的数据中获得的所有信息,例如,在两个时间戳之间,而且所有数据都应该按时间戳排序
首先,我想在hbase shell中尝试一下性能。
在rdbms中,查询可以是
从表中选择第1列和第2列,其中开始日期>时间戳和结束日期<时间戳顺序按开始日期描述限制10
描述顺序在这里是最重要的

jljoyd4f

jljoyd4f1#

性能一点也不好—您必须扫描表中的每一行,找到相关时间戳之间的所有行,然后对结果进行排序。在hbase shell中无法进行排序。
考虑一个以时间戳为键的二级索引表,链接回主表。
另一种选择是,在apachephoenix上寻找hbase上类似sql的功能。

1aaf6o9v

1aaf6o9v2#

您甚至可以使用apachedrill在hbase上执行sql查询。
对于hbase shell,您可以使用

scan 't1', { TIMERANGE => [0, 1416083300000] }

这里t1=>表时间范围的名称是epoch time
如果你能编码并找到这个链接

https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/io/TimeRange.html

它拥有您期待的所有可用功能。

相关问题