我想从hbase中的数据中获得的所有信息,例如,在两个时间戳之间,而且所有数据都应该按时间戳排序首先,我想在hbase shell中尝试一下性能。在rdbms中,查询可以是从表中选择第1列和第2列,其中开始日期>时间戳和结束日期<时间戳顺序按开始日期描述限制10描述顺序在这里是最重要的
jljoyd4f1#
性能一点也不好—您必须扫描表中的每一行,找到相关时间戳之间的所有行,然后对结果进行排序。在hbase shell中无法进行排序。考虑一个以时间戳为键的二级索引表,链接回主表。另一种选择是,在apachephoenix上寻找hbase上类似sql的功能。
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
它拥有您期待的所有可用功能。
2条答案
按热度按时间jljoyd4f1#
性能一点也不好—您必须扫描表中的每一行,找到相关时间戳之间的所有行,然后对结果进行排序。在hbase shell中无法进行排序。
考虑一个以时间戳为键的二级索引表,链接回主表。
另一种选择是,在apachephoenix上寻找hbase上类似sql的功能。
1aaf6o9v2#
您甚至可以使用apachedrill在hbase上执行sql查询。
对于hbase shell,您可以使用
这里t1=>表时间范围的名称是epoch time
如果你能编码并找到这个链接
它拥有您期待的所有可用功能。