[英]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.