MapReduce 知识点掌握:
- MapReduce的设计理念是“计算向数据靠拢”。
因为移动数据需要大量的网络传输开销。尤其是在大规模数据环境下,这种开销尤为惊人,所以,移动计算要比移动数据更加经济
。本着这个理念,在一个集群中,只要有可能, MapReduce框架就会将Map程序就近地在HDFS数据所在的节点运行,即将计算节点和存储节点放在一起运行, 从而减少及节点之间的数据移动开销。 - Hadoop框架是用java实现的,但是MapReduce应用程序不一定要用java来写。
- MapReduce 的核心思想可以用“分而治之”来描述。
1【单选题】
下列说法错误的是________。
A、Map函数将输入的元素转换成<key,value>形式的键值对
B、Hadoop框架是用Java实现的,MapReduce应用程序则一定要用Java来写
C、不同的Map任务之间不能互相通信
D、MapReduce框架采用了Master/Slave架构,包括一个Master和若干个Slave
答案:B
2【单选题】
在使用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>
答案:A
3【单选题】
在词频统计中,对于文本行"hello hadoop hello world",经过WordCount的Reduce函数处理后的结果是________。
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>
答案:Breduce函数的输出默认是有序的
4【单选题】
关于Hadoop MapReduce的叙述错误的是________。
A、MapReduce采用“分而治之”的思想
B、MapReduce的输入和输出都是键值对的形式
C、MapReduce将计算过程划分为Map任务和Reduce任务
D、MapReduce的设计理念是“数据向计算靠拢”
答案:D
5【单选题】
Hadoop MapReduce计算的流程是________。
A、Map任务—Shuffle—Reduce任务
B、Map任务—Reduce任务—Shuffle
C、Reduce任务—Map任务—Shuffle
D、Shuffle—Map任务—Reduce任务
答案:A
6【单选题】
编写MapReduce程序时,下列叙述错误的是______。
A、reduce函数所在的类必须继承自Reducer类
B、map函数的输出就是reduce函数的输入
C、reduce函数的输出默认是有序的
⭐
D、启动MapReduce进行分布式并行计算的方法是start()。
答案:D
7【多选题】
下列关于传统并行计算框架(比如MPI)和MapReduce并行计算框架比较正确的是________。
A、前者相比后者学习起来更难
B、前者是共享式(共享内存/共享存储),容错性差,后者是非共享式的,容错性好
C、前者适用于实时、细粒度计算、计算密集型,后者适用于批处理、非实时、数据密集型
D、前者所需硬件价格贵,可扩展性差,后者硬件便宜,扩展性好
答案:ABCD
8【多选题】
MapReduce体系结构主要由哪几个部分组成________。
A、TaskTracker
B、Task
C、JobTracker
D、Client
答案:ABCD
Client:客户端,用于提交作业
JobTracker:作业跟踪器,负责作业调度,作业执行,作业失败后恢复
TaskScheduler:任务调度器,负责任务调度
TaskTracker:任务跟踪器,负责任务管理(启动任务,杀死任务等)
9【多选题】
对MapReduce的体系结构,以下说法正确的是________。
A、分布式编程架构
B、以数据为中心,更看重吞吐率
C、分而治之的思想
D、将一个任务分解成多个子任务
答案:ABCD
10【多选题】
MapReduce为了保证任务的正常执行,采用________等多种容错机制。
A、重复执行
B、重新开始整个任务
C、推测执行
D、直接丢弃执行效率低的作业
答案:AC
11【多选题】
关于MapReduce的shuffle过程,叙述正确的是________。
A、Shuffle分为Map任务端的Shuffle和Reduce任务端的Shuffle
B、Map任务的输出结果不是立即写入磁盘,而是首先写入缓存
C、并非所有场合都可以使用合并操作
D、每个Reduce任务真正开始之前,大部分时间都在从Map端领取所需的数据
答案:ABCD
12【判断题】
MapReduce设计的一个理念就是“计算向数据靠拢”,而不是“数据向计算靠拢”,因为,移动数据需要大量的网络传输开销。
答案:√
13【判断题】
两个键值对<“hello”,1>和<“hello”,1>,如果对其进行归并(merge),会得到<“hello”,<1,1>>,如果对其进行合并(combine),会得到<“hello”,2>。
答案:√
14【判断题】
HDFS集群开始启动时,其处于安全模式,可以进行读操作,不能进行写操作。
答案:√
15【判断题】
HDFS是分布式文件系统,其命名空间包括块、目录和文件。
答案:√
16【判断题】
Map的主要工作是将多个任务的计算结果进行汇总。
答案:×
17【判断题】
在Hadoop中每个应用程序被表示成一个作业,每个作业又被分成多个任务,JobTracker的负责作业的分解、状态监控以及资源管理。
答案:√