[英]how to change hbase table scan results order
我正在嘗試將特定數據從一個 hbase 表復制到另一個,這需要僅掃描表中的行鍵並從那里解析特定值。 它工作正常,但我注意到結果似乎是按升序排列的,在這種情況下是按字母順序返回的。 有沒有辦法指定相反的順序或者通過插入時間戳?
Scan scan = new Scan();
scan.setMaxResultSize(1000);
scan.setFilter(new FirstKeyOnlyFilter());
ResultScanner scanner = TestHbaseTable.getScanner(scan);
for(Result r : scanner){
System.out.println(Bytes.toString(r.getRow()));
String rowKey = Bytes.toString(r.getRow());
if(rowKey.startsWith("dm.") || rowKey.startsWith("bk.") || rowKey.startsWith("rt.")) {
continue;
} else if(rowKey.startsWith("yt")) {
List<String> ytresult = Arrays.asList(rowKey.split("\\s*.\\s*"));
.....
這張表很大,所以我寧願跳到我實際需要的行。 感謝這里的任何幫助。
您是否嘗試過 Scan 的 .setReversed() 屬性? 請記住,在這種情況下,您的起始行必須是您的 rowKey 范圍的邏輯 END,並且從那里它會“向上”掃描。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.