一、选择题

  1. 在使用 MapReduce 程序 WordCount 进行词频统计时,对于文本行'hello hadoop hello world',经过 WordCount 程序的 Map 函数处理后直接输出的中间结果,应该是下面那种形式 ( )。 A. <'hello',1>、<'hello',1>、<'hadoop',1> 和 <'world',1> B. <'hello',1,1>、<'hadoop',1> 和 <'world',1> C. <'hello',<1,1>>、<'hadoop',1> 和 <'world',1> D. <'hello',2>、<'hadoop',1> 和 <'world',1>

  2. 关于 Hadoop MapReduce 的叙述错误的是 ( )。 A. MapReduce 采用'分而治之的思想' B. MapReduce 的输入和输出都是键值对的形式 C. MapReduce 将计算过程划分为 Map 任务和 Reduce 任务 D. MapReduce 的设计理念是'数据向计算靠拢'

  3. Hadoop MapReduce 计算的流程是 ( )。 A. Map 任务——Shuffle——Reduce 任务 B. Map 任务——Reduce 任务——Shuffle C. Reduce 任务——Map 任务——Shuffle D. Shuffle——Map 任务——Reduce 任务

  4. 编写 MapReduce 程序时,下列叙述错误的是 ( )。 A. reduce 函数所在的类必须继承自 Reduce 类 B. Map 函数的输出就是 reduce 函数的输入 C. reduce 函数的输出默认是有序的 D. 启动 MapReduce 进行分布式并行计算的方法是 start()

  5. 当前大数据技术的基础是由 ( ) 首先提出的。 A. 微软 B. 百度 C. 谷歌 D. 阿里巴巴

二、简答题

  1. 描述 mapReduce 中 combiner 的作用是什么,一般使用情景,哪些情况不需要,及和 reduce 的的区别?

答案: 一、选择题

  1. A. <'hello',1>、<'hello',1>、<'hadoop',1> 和 <'world',1>
  2. A. MapReduce 采用'分而治之的思想'
  3. A. Map 任务——Shuffle——Reduce 任务
  4. D. 启动 MapReduce 进行分布式并行计算的方法是 start()
  5. C. 谷歌

二、简答题

  1. combiner 是在 MapReduce 中用于在 Map 任务输出结果之后,在数据传输到 Reduce 任务之前进行局部聚合的函数。它的作用是减少数据传输量和提高计算效率。Combiner 在 Map 任务的本地节点上执行,对 Map 任务的输出结果进行合并操作,减少了数据的传输量,从而减少了网络带宽的占用和 Reduce 任务的输入数据量。

一般情况下,使用 combiner 可以提高 MapReduce 的性能,特别是在 Map 任务产生的输出数据量较大时,可以减少数据的传输量和网络带宽的占用。

但是,并不是所有的情况都适合使用 combiner。当 Map 任务的输出结果不需要进行局部聚合操作时,或者 Map 任务的输出结果已经进行了局部聚合,再次使用 combiner 会导致重复计算,此时不需要使用 combiner。

Combiner 和 Reduce 的区别在于,combiner 是在 Map 任务的本地节点上执行,对 Map 任务的输出结果进行局部聚合,减少数据传输量;而 Reduce 是在 Reduce 任务的节点上执行,对所有 Map 任务的输出结果进行全局聚合,生成最终的计算结果。

Hadoop MapReduce 练习题:词频统计、MapReduce工作原理和Combiner详解

原文地址: https://www.cveoy.top/t/topic/zXP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录