Hbase如何按时间戳排序

Hbase如何按时间戳排序,hbase,Hbase,我想从HBase中的数据中获取的所有信息,例如,在两个时间戳之间,并且所有数据都应按时间戳排序 首先,我想在Hbase shell中执行此操作,以测试性能 在RDBMS中,查询可以是 从开始日期> 时间戳和结束日期表的名称 时间范围为历元时间 如果你能编码并找到这个链接 https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/io/TimeRange.html 它拥有您期待的所有可用功能。谢谢本·沃森。这是一个很有帮助的问题,phoen

我想从HBase中的数据中获取的所有信息,例如,在两个时间戳之间,并且所有数据都应按时间戳排序

首先,我想在Hbase shell中执行此操作,以测试性能

在RDBMS中,查询可以是

从开始日期> 时间戳和结束日期<开始日期描述的时间戳顺序限制10


描述顺序在这里是最重要的,无论如何性能都不会很好-您必须扫描表中的每一行,找到相关时间戳之间的所有行,然后对结果进行排序。在HBase外壳中无法进行排序

考虑一个以时间戳为键的二级索引表,链接回主表


另一种选择是,查看ApachePhoenix在HBase上的类似SQL的功能。

您甚至可以使用ApacheDrill在HBase上执行SQL查询

对于Hbase Shell,您可以使用

scan 't1', { TIMERANGE => [0, 1416083300000] }
这里t1=>表的名称 时间范围为历元时间

如果你能编码并找到这个链接

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

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

谢谢本·沃森。这是一个很有帮助的问题,phoenix还将给出相同的性能[假设我们不创建以时间戳作为键的二级表],phoenix应该更快,因为它包含引擎盖下的优化,并且可以为您生成索引。