2
A
回答
-1
沒有,列不排序 它們在內部存儲爲鍵值對在長的字節數組。但是,你應該澄清一下你的問題,即你實際需要什麼。
1
我和你有一個非常相似的數據模型。然而,插入後,我爲Put對象的時間戳設置了自己的值。但是,我這樣做的方式是採用當前時間的「種子」,併爲每批持續批量生成的事件附加一個遞增計數器。
當我從掃描拉到結果出來,我寫了一個比較:
public class KVTimestampComparator implements Comparator<KeyValue> {
@Override
public int compare(KeyValue kv1, KeyValue kv2) {
Long kv1Timestamp = kv1.getTimestamp();
Long kv2Timestamp = kv2.getTimestamp();
return kv1Timestamp.compareTo(kv2Timestamp);
}
}
然後排序的原始行:
List<KeyValue> row = Arrays.asList(result.raw());
Collections.sort(row, new KVTimestampComparator());
得到這個想法從人誰回答了這個:Sorted results from hbase scanner
相關問題
- 1. mapreduce,hbase和掃描
- 2. HBase行內掃描
- 3. Hbase掃描超時
- 4. ZXING代碼掃描器是否也返回掃描代碼的圖片?
- 5. HBase的列寬掃描和獲取
- 6. hbase掃描時間範圍返回舊版本
- 7. Hbase客戶端掃描程序掛起
- 8. HBase的掃描速度慢
- 9. HBase掃描操作緩存
- 10. 掃描特定rowkey的Hbase
- 11. HBase掃描 - RowKey過濾器
- 12. Hbase多範圍掃描?
- 13. 使用HBase掃描的java.lang.NoClassDefFoundError
- 14. 掃描程序不時返回NoSuchElementException
- 15. 請問HBase掃描不包含我想返回的系列的行
- 16. Java的掃描儀+排序
- 17. 掃描序列號
- 18. HBASE行前綴掃描以相反的順序在HBase的
- 19. 掃描線是否逃跑?
- 20. 條形碼掃描的VBA Excel代碼返回掃描時間
- 21. Hbase掃描篩選器記錄缺失列或列值爲空
- 22. 掃描多序列文件
- 23. 掃描使用HBase的外殼
- 24. 使用HBase API(Java)掃描篩選器
- 25. 掃描hbase時,地圖任務卡住
- 26. 如何做HBase部分掃描?
- 27. 如何掃描HBase的數值範圍
- 28. 如何有效地掃描HBase行
- 29. 如何做hbase範圍掃描?
- 30. HBase Mapreduce在多個掃描對象上
我的系統跟蹤某種事件。每行鍵是源ID和日期,每列是事件ID和數據。這種結構似乎是正確的,因爲我總是需要一整天的事件而不是單一的事件。分析事件時,我需要按ID排序。我通常會在map和sort/shuffle階段執行此操作,並將reduce的計算保留下來,但如果已經排序,我可以跳過它並在地圖階段執行整個計算。 – Huser
如果您需要的所有數據都在一行中,那麼爲什麼不使用常規數據結構/操作將它排序在內存中呢?洗牌/分類/縮小階段非常昂貴。 – David
列確實分類。請參閱:http://comments.gmane.org/gmane.comp.java.hadoop.hbase.user/24414 – jeffreyveon