题目
MapReduce的哪个阶段由系统自动完成?A. Map阶段B. Reduce阶段C. Shuffle和Combine阶段D. Finalize阶段
MapReduce的哪个阶段由系统自动完成?
- A. Map阶段
- B. Reduce阶段
- C. Shuffle和Combine阶段
- D. Finalize阶段
题目解答
答案
C.Shuffle和Combine阶段
解析
MapReduce的核心流程包含多个阶段,其中用户需要自定义逻辑的阶段是Map和Reduce,而系统自动处理的阶段则负责数据分发、排序和优化。本题的关键在于区分哪些阶段由框架自动完成,无需用户干预。Shuffle和Combine阶段是框架内部实现的关键步骤,用于数据分组和优化,属于系统自动执行的环节。
选项分析
A. Map阶段
- 用户自定义逻辑:Map函数负责将输入数据转换为中间键值对。
- 需编写代码:用户需根据需求实现Map逻辑。
B. Reduce阶段
- 用户自定义逻辑:Reduce函数对Map的输出进行合并计算。
- 需编写代码:用户需定义Reduce的处理逻辑。
C. Shuffle和Combine阶段
- 系统自动完成:
- Shuffle和Sort:将Map的输出按键分组并排序,确保相同键的数据发送给同一Reducer。
- Combine(可选):在Map端对中间结果进行局部汇总,减少数据传输量。
- 无需用户干预:框架自动执行,用户只需提供Combine函数(若使用)。
D. Finalize阶段
- 非标准阶段:MapReduce标准流程中无此阶段,可能指输出格式化,但通常由用户自定义。