gpt4 book ai didi

Hadoop 一个Map和多个Reduce

转载 作者:可可西里 更新时间:2023-11-01 14:07:03 28 4
gpt4 key购买 nike

我们有一个大型数据集,需要使用多个reduce 函数进行分析。

所有reduce 算法都适用于由相同ma​​p 函数生成的相同数据集。每次读取大型数据集的成本太高,最好只读取一次并将映射数据传递给多个reduce函数。

我可以用 Hadoop 做到这一点吗?我搜索了示例和 intarweb,但找不到任何解决方案。

最佳答案

也许一个简单的解决方案是编写一个没有 reduce 函数的作业。因此,您会将所有映射数据直接传递到作业的输出。您只需将作业的 reducer 数量设置为零。

然后您将为处理该数据的每个不同的 reduce 函数编写一个作业。不过,这意味着将所有映射数据存储在 HDFS 上。

另一种选择可能是将所有 reduce 函数组合到一个 Reducer 中,该 Reducer 输出到多个文件,为每个不同的函数使用不同的输出。 this article for hadoop 0.19 中提到了多个输出.我很确定这个特性在 0.20.1 发布的新 mapreduce API 中被破坏了,但你仍然可以在旧的 mapred API 中使用它。

关于Hadoop 一个Map和多个Reduce,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2333618/

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