第4章课后习题答案
一、单选题
1. 在 MapReduce 程序中,map() 函数接收的数据格式是( A. 字符串 B. 整型 C. Long D. 键值对 参考答案:D
2. 每个 Map 任务都有一个内存缓冲区,默认大小是( ) 。 A. 128 MB B. 64 MB C. 100 MB D. 32 MB 参考答案:C
3. 在 MapTask 的 Combine 阶段,当处理完所有数据时,MapTask 会对所有的临时文件进行一次() 。
A. 分片操作 B. 合并操作 C. 格式化操作 D. 溢写操作 参考答案:B
4. 下列选项中,主要用于决定整个 MapReduce 程序性能高低的阶段是( ) 。 A. MapTask B. ReduceTask C. 分片、格式化数据源 D. Shuffle 参考答案:D 二、判断题
1. MapReduce 编程模型借鉴了面向过程的编程语言的设计思想。 ( ) 参考答案:错
2. 在 MapReduce 程序进行格式化数据源操作时, 是将划分好的分片格式化为键值对“ < key,value > ” 形式的数据。 ( ) 参考答案:对
3. 带有倒排索引的文件称为“ 倒排索引文件”,简称“ 倒排文件” 。 ( ) 参考答案:对
4. reduce() 函数会将 map( ) 函数输出的键值对作为输入,将相同 key 值的 value 进行汇总,输出新的键值对。 ( ) 参考答案:对
5. MapReduce 通过 TextOutputFormat 组件输出到结果文件中。 ( ) 参考答案:对
6. Combiner 组件可以让 Map 对 key 进行分区,从而可以根据不同的 key 分发到不同的 Reduce 中去处理。 ( ) 参考答案:错
7. 对于 MapReduce 任务来说,一定需要 Reduce 过程。 ( ) 参考答案:错
8. 在 MapReduce 程序中,只有 Map 阶段涉及 Shuffle 机制。 ( ) 参考答案:错
9. MapReduce 的数据流模型可能只有 Map 过程,由 Map 产生的数据直接被写入 HDFS中。 ( )
参考答案:对
10. Hadoop 提供的 Mapper 类是实现 Map 任务的一个抽象基类。 ( ) 参考答案:对
11. MapTask 作为 MapReduce 工作流程的前半部分,它主要经历 Read 阶段、Map 阶段、
Collect 阶段、Spill 阶段和 Shuffle 阶段。 ( ) 参考答案:错
12. MapReduce 是 Hadoop 系统核心组件之一,它是一种可用于大数据并行处理的计算模型、框架和平台。 ( ) 参考答案:对
13. 由于 Combiner 组件不允许改变业务逻辑,所以无论调用多少次 Combiner,Reduce 的输出结果都是一样的。 ( ) 参考答案:对
14. ReduceTask 作为 MapReduce 工作流程的后半部分,主要经历了 Copy 阶段、Merge 阶段、Sort 阶段、Reduce 阶段和 Write 阶段。 ( ) 参考答案:对
15. 在 Reduce 阶段,设置 Map 和 Reduce 共存,当 Map 运行到一定程度后,Reduce 也开始运行,减少 Reduce 的等待时间,可以提高 MapReduce 的性能。 ( ) 参考答案:对 三、填空题
1.在MapTask的Split阶段,将数据写入本地磁盘前,要对数据进行一次______________,并在必要时对数据进行合并、压缩等操作。 参考答案:本地排序
2._________________是MapReduce的核心,它用来确保每个Reducer的输入都是按键排序的。
参考答案:Shuffle
3.MapReduce编程组件中,_______________组件主要用于描述输入数据的格式。 参考答案:InputFormat
4.当Map任务写入内存缓存区的数据到达阈值_______________时,会启动一个线程将内存中的溢出数据写入磁盘。 参考答案:80M
5.MapReduce程序的运行模式主要有两种,即本地运行模式和______________。 参考答案:集群运行模式
6._____________是文档检索系统中最常用的数据结构,被广泛应用于全文搜索引擎。 参考答案:倒排索引
7.MapReduce的核心思路是_______________。 参考答案: 分而治之
8.____________是指从研究对象中按照某一个指标进行倒序或正序排列,取其中所需的n个数据,并对这n个数据进行重点分析的方法。 参考答案:TopN分析法
9.输入Map阶段的数据源,必须经过___________和格式化操作。 参考答案:分片 10.默认情况下,run()方法中的setup()和cleanup()方法在内部不作任何处理;也就是说,__________方法是处理数据的核心方法。 参考答案:reduce()
11.ReduceTask在Sort阶段,为了将key相同的数据聚在一起,Hadoop采用了_____________基于的策略。 参考答案:排序
12.______________组件的作用就是对Map阶段的输出的重复数据先进一次合并计算,然后
将新的
13. Reduce是MapReduce数据流模型的最后处理过程,其结果___________进行第二次汇总。
参考答案:不会
14. MapReduce通过默认组件________________将待处理的数据文件的每一行数据都转变为
参考答案:TextInputFormat
15.MapReduce在操作海量数据时,每个MapReduce程序被初始化为一个工作任务,每个工作任务可以分为_____________和____________两个阶段。 参考答案:Map、Reduce
16.MapReduce编程模型的实现过程是通过___________和____________函数来完成的。 参考答案:map()、reduce() 四、简答题
1. 简述 MapReduce 的 Map 阶段和 Reduce 阶段。
参考答案:Map阶段:负责将任务分解,即把复杂的任务分解成若干个“简单的任务”来并行处理,但前提是这些任务没有必然的依赖关系,可以单独执行任务。 Reduce阶段:负责将任务合并,即把Map阶段的结果进行全局汇总。 2. 简述 MapReduce 的工作流程。
参考答案:MapReduce的工作过程一共有5个步骤,分别是先分片、格式化数据源,再执行MapTask过程,接着执行Shuffle过程,然后执行ReduceTask过程,最后是写入文件操作。
《大数据技术原理与操作应用》第4章习题答案



