gpt4 book ai didi

hadoop - 使用 mapreduce 的每个 a 值的 top-N b 值

转载 作者:可可西里 更新时间:2023-11-01 16:22:57 24 4
gpt4 key购买 nike

我是 hadoop 的新手,一直在努力编写一个 mapreduce 算法来为每个 A 值查找前 N 个值。非常感谢任何有关代码实现的帮助或指南。

Input data
a,1
a,9
b,3
b,5
a,4
a,7
b,1

output
a 1,4,7,9
b 1,3,5

我相信我们应该编写一个 Mapper 来读取行、拆分值并允许它由 reducer 收集。一旦进入 reducer ,我们就必须进行排序。

最佳答案

如果每个键的值数量足够少,让 reducer 读取与给定键关联的所有值并输出前 N 个值的简单方法可能是最好的。

如果每个键的值数量足够大,这将是一个糟糕的选择,那么复合键会更好地工作,并且需要自定义分区器和比较器。您希望根据自然键(此处为“a”或“b”,以便它们最终位于同一个 reducer 中)进行分区,但对值进行二次排序(以便 reducer 将首先看到最大值).

关于hadoop - 使用 mapreduce 的每个 a 值的 top-N b 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20829548/

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