[英]Change hbase timestamp sorting in order to get the first version of specific row
根据我的要求,我需要获取Hbase中特定行的第一个版本。 假设以下表:
row_key cf1:c1 timestamp
----------------------------------------
1 x t1
1 x t2
1 x t3
...
假设我想根据时间戳检索row(1)的第一个版本。 首先,是否有用于此目的的hbase java方法? 其次,如果没有这样的方法,我可以通过获取row(1)的最新版本来将时间戳的排序顺序更改为DESC,以检索此类单元格吗? 对hbase的时间戳顺序进行此更改有何关注?
您可以使用Result.getColumnCells获取所有列,然后从列表中获取第一列。
可能的替代解决方案:
Long.MAX_VALUE - System.currentTimeMillis()
。 在这种情况下,请确保单元的最大版本数足够高,否则最新的值将被HBase垃圾收集。 您是否看过scan.setReverse(true)? 附带说明,它在较早版本中不可用(我们使用0.94.18),并且是我们升级的动力之一。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.