gpt4 book ai didi

hadoop - 我可以在不设置 mapred.reduce.tasks=1 的情况下在 map reduce 程序中找到最小值、最大值或平均值吗

转载 作者:可可西里 更新时间:2023-11-01 14:46:44 25 4
gpt4 key购买 nike

我试图了解如何使用 mapreduce 找到一个非常大的文件的最小值、最大值和平均值。将 reduce 任务数设置为 1 是一个显而易见的解决方案,但对于非常大的文件来说并不是最佳选择。我也在考虑编写一个链式 MR 作业,但最终,你最终在最终作业中使用了一个 reducer 。有人可以阐明一些其他方法吗?

谢谢

最佳答案

无论您的输入数据集有多大,我在这里使用 1 个 reducer 都没有发现任何问题。为此,您应该使用组合器功能,该功能应返回其本地 Max、本地 Min、本地 TotalSum 和 Count 并传递给单个 reducer。这样,到达 reducer 的数据量非常少(与映射器的数量成正比)。一旦这个小数据到达单个 reducer ,您就可以找到全局最大值和最小值,并将总和除以总计数来求平均值。

关于hadoop - 我可以在不设置 mapred.reduce.tasks=1 的情况下在 map reduce 程序中找到最小值、最大值或平均值吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37532214/

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