gpt4 book ai didi

hadoop - 在 MapReduce Hadoop 中排序

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

我有几个关于 Hadoop MapReduce 的基本问题。

  1. 假设是否执行了 100 个映射器和零个缩减器。会不会生成 100 个文件?所有个体都排序了吗?跨越所有映射器输出排序了吗?
  2. reducer 的输入是 Key -> Values。对于每个键,所有值都已排序?
  3. 假设是否执行了 50 个 reducer。它会生成50个文件吗?所有单个文件都已排序?对所有 reducer 的输出进行排序?

在 MapReduce 中有没有保证排序发生的地方?

最佳答案

1.Assume if 100 mappers were executed and zero reducer. Will it generate 100 files?

是的。

All individual are sorted?

没有。如果不使用缩减器,则映射器的输出不会排序。排序仅在存在减少阶段时发生。

Across all mapper output are sorted?

没有,原因同上。

2.Input for reducer is Key -> Values. For each key, all values are sorted?

没有。但是,键是排序的。在改组阶段之后,reducer 获得映射器的输出,它对映射器的排序输出键进行合并排序(因为有一个 reduce 阶段),当它开始减少时,键被排序。

3.Assume if 50 reducers were executed. Will it generate 50 files?

是的。 (除非你使用 MultipleOutputs )

All individual files are sorted?

没有。排序后的输入不保证排序后的输出。输出取决于您在 reduce 方法中使用的算法。

Across all reducer output are sorted?

不是,原因同上。但是,如果您使用 Identity Reducer,即,您只需在获得它时写入 reducer 的输入,则 reducer 的输出将按每个 REDUCER 排序,而不是全局排序。

Is there any place where guaranteed sorting happens in MapReduce?

排序发生在reduce阶段,并应用于每个映射器的输出键和每个reducer的输入键。如果你想对 reducer 的输入进行全局排序,你可以使用单个 reducer,或者 TotalOrderPartitioner。 ,这有点棘手......

关于hadoop - 在 MapReduce Hadoop 中排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31447195/

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