大数据技术期末复习第七章——MapReduce练习

  • Post author:
  • Post category:其他




习题

1、【单选题】

下列说法错误的是____B____。

A、Map函数将输入的元素转换成<key,value>形式的键值对

B、Hadoop框架是用Java实现的,MapReduce应用程序则一定要用Java来写

C、不同的Map任务之间不能互相通信

D、MapReduce框架采用了Master/Slave架构,包括一个Master和若干个Slave


Hadoop框架是用Java实现的,但是MapReduce应用程序不一定要用Java来写


2【单选题】

在使用MapReduce程序WordCount进行词频统计时,对于文本行“hello hadoop hello world”,经过WordCount程序的Map函数处理后直接输出的中间结果,应该是下面哪种形式___A_____。

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>


1、Map函数的输入<key1,value1>,输出为多个<key2,value2>



2、Reduce函数的输入为<key1,list(value2)>,输出为<key2,value2>


3【单选题】

在词频统计中,对于文本行”hello hadoop hello world”,经过WordCount的Reduce函数处理后的结果是___A_____。

A、<“hello”,2><“hadoop”,1><“world”,1>

B、<“hadoop”,1><“hello”,2><“world”,1>

C、<“hello”,1,1><“hadoop”,1><“world”,1>

D、<“hadoop”,1><“hello”,1><“hello”,1><“world”,1>

4【单选题】

关于Hadoop MapReduce的叙述错误的是___D_____。

A、MapReduce采用“分而治之”的思想

B、MapReduce的输入和输出都是键值对的形式

C、MapReduce将计算过程划分为Map任务和Reduce任务

D、MapReduce的设计理念是“数据向计算靠拢”


MapReduce的设计理念是“计算向数据靠拢”


5【单选题】

Hadoop MapReduce计算的流程是___A_____。

A、Map任务—Shuffle—Reduce任务

B、Map任务—Reduce任务—Shuffle

C、Reduce任务—Map任务—Shuffle

D、Shuffle—Map任务—Reduce任务

6【单选题】

编写MapReduce程序时,下列叙述错误的是__D____。

A、reduce函数所在的类必须继承自Reducer类

B、map函数的输出就是reduce函数的输入

C、reduce函数的输出默认是有序的

D、启动MapReduce进行分布式并行计算的方法是start()。

7【多选题】

下列关于传统并行计算框架(比如MPI)和MapReduce并行计算框架比较正确的是___ABCD_____。

A、前者相比后者学习起来更难

B、前者是共享式(共享内存/共享存储),容错性差,后者是非共享式的,容错性好

C、前者适用于实时、细粒度计算、计算密集型,后者适用于批处理、非实时、数据密集型

D、前者所需硬件价格贵,可扩展性差,后者硬件便宜,扩展性好

8【多选题】

MapReduce体系结构主要由哪几个部分组成________。

A、TaskTracker

B、Task

C、JobTracker

D、Client


Client:客户端,用于提交作业



JobTracker:作业跟踪器,负责作业调度,作业执行,作业失败后恢复



TaskTracker:任务跟踪器,负责任务管理(启动任务,杀死任务等)



Task:分为Map Task 和Reduce Task


9【多选题】

对MapReduce的体系结构,以下说法正确的是____ABCD____。

A、分布式编程架构

B、以数据为中心,更看重吞吐率

C、分而治之的思想

D、将一个任务分解成多个子任务

10【多选题】

MapReduce为了保证任务的正常执行,采用__AC______等多种容错机制。

A、重复执行

B、重新开始整个任务

C、推测执行

D、直接丢弃执行效率低的作业

11【多选题】

关于MapReduce的shuffle过程,叙述正确的是___ABCD_____。

A、

Shuffle分为Map任务端的Shuffle和Reduce任务段的Shuffle

B、

Map任务的输出结果不是立即写入磁盘,而是首先写入缓存

C、

并非所有场合都可以使用合并操作

D、

每个Reduce任务真正开始之前,大部分时间都在从Map端领取所需的数据

12【判断题】

MapReduce设计的一个理念就是“计算向数据靠拢”,而不是“数据向计算靠拢”,因为,移动数据需要大量的网络传输开销。

答案:√

13【判断题】

两个键值对<“hello”,1>和<“hello”,1>,如果对其进行归并(merge),会得到<“hello”,<1,1>>,如果对其进行合并(combine),会得到<“hello”,2>。

答案:√

14【判断题】

HDFS集群开始启动时,其处于安全模式,可以进行读操作,不能进行写操作。

答案:√

15【判断题】

HDFS是分布式文件系统,其命名空间包括块、目录和文件。

答案:√

16【判断题】

Map的主要工作是将多个任务的计算结果进行汇总。

答案:×


Reduce的主要工作是将多个Map任务的计算结果进行汇总。


17【判断题】

在Hadoop中每个应用程序被表示成一个作业,每个作业又被分成多个任务,JobTracker的负责作业的分解、状态监控以及资源管理。

答案:√



知识点

1、MapReduce设计的理念:“计算向数据靠拢”

2、大规模数据集的处理包括

分布式存储



分布式计算



3、MapReduce的核心思想:

分而治之



4、理想的分片大小:

一个HDFS块



5、

不同的Map任务之间不会进行通信,不同的Reduce任务之间也不会发生信息交换,用户不能显式地从一台机器向另一台机器发送信息,所有的数据交换都是通过MapReduce框架自身去实现的。


6、为了让Reduce可以并行处理Map的结果,需要对Map的输出进行

分区、排序、合并、归并

操作。

7、Shuffle过程分为

Map端的操作



Reduce端的操作



8、

合并(Combiner):

将具有相同的key的键值对<key,value>的value值加起来,并非所有的场合都可以使用合并操作。

9、

归并:

将具有相同的key的键值对归并成为一个新的键值对。例如<key1,value1>,<key1,value2>归并为<key1,<value1,value2>>。



版权声明:本文为qq_45701130原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。