gpt4 book ai didi

hadoop - HBase 扫描是否返回排序的列?

转载 作者:可可西里 更新时间:2023-11-01 15:00:14 26 4
gpt4 key购买 nike

我正在处理 HBase map reduce 作业,需要了解单个列族中的列是否按名称(键)排序返回。如果是这样,我就不需要在随机排序阶段这样做了。

谢谢

最佳答案

我有一个与您非常相似的数据模型。然而,在插入时,我为 Put 对象的时间戳设置了我自己的值。但是,我这样做的方式是获取当前时间的“种子”,并为我在批处理中坚持的每个事件附加一个递增计数器。

当我从 Scan 中提取结果时,我写了一个比较器:

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

关于hadoop - HBase 扫描是否返回排序的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6511830/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com