作业5 MapReduce

发布时间 2024-01-09 16:20:45作者: wardream

一. 单选题(共8题,16分)

1. (单选题, 2分)下列传统并行计算框架,说法错误的是哪一项?

  • A.

    刀片服务器、高速网、SAN,价格贵,扩展性差上

     

  • B.

    共享式(共享内存/共享存储),容错性好

     

  • C.

      编程难度高

     

  • D.

     实时、细粒度计算、计算密集型

     

我的答案: B:共享式(共享内存/共享存储),容错性好 ;正确答案: B:共享式(共享内存/共享存储),容错性好 ;
 
2分

2. (单选题, 2分)下列关于MapReduce模型的描述,错误的是哪一项?

  • A. MapReduce采用“ 分而治之”策略
  • B. MapReduce设计的一个理念就是“ 计算向数据靠拢”
  • C.

    MapReduce框架采用了Master/Slave架构

     

  • D.

    MapReduce应用程序只能用Java来写

     

我的答案: D:MapReduce应用程序只能用Java来写 ;正确答案: D:MapReduce应用程序只能用Java来写 ;
 
2分

3. (单选题, 2分)MapReduce1.0的体系结构中,JobTracker是主要任务是什么?

  • A.

    负责资源监控和作业调度,监控所有TaskTracker与Job的健康状况

     

  • B.

    使用“slot”等量划分本节点上的资源量(CPU、内存等)

     

  • C.

    会周期性地通过“心跳”将本节点上资源的使用情况和任务的运行进度汇报给TaskTracker

     

  • D.

    会跟踪任务的执行进度、资源使用量等信息,并将这些信息告诉任务(Task)

     

我的答案: A:负责资源监控和作业调度,监控所有TaskTracker与Job的健康状况 ;正确答案: A:负责资源监控和作业调度,监控所有TaskTracker与Job的健康状况 ;
 
2分

4. (单选题, 2分)下列关于MapReduce工作流程,哪个描述是正确的?

  • A.

    所有的数据交换都是通过MapReduce框架自身去实现的

     

  • B.

    不同的Map任务之间会进行通信

     

  • C.

    不同的Reduce任务之间可以发生信息交换

     

  • D.

    用户可以显式地从一台机器向另一台机器发送消息

     

我的答案: A:所有的数据交换都是通过MapReduce框架自身去实现的 ;正确答案: A:所有的数据交换都是通过MapReduce框架自身去实现的 ;
 
2分

5. (单选题, 2分)下列关于MapReduce的说法,哪个描述是错误的?

  • A.

    MapReduce具有广泛的应用,比如关系代数运算、分组与聚合运算等

     

  • B.

    MapReduce将复杂的、运行于大规模集群上的并行计算过程高度地抽象到了两个函数

     

  • C.

    编程人员在不会分布式并行编程的情况下,也可以很容易将自己的程序运行在分布式系统上,完成海量数据集的计算

     

  • D.

    不同的Map任务之间可以进行通信

     

我的答案: D:不同的Map任务之间可以进行通信 ;正确答案: D:不同的Map任务之间可以进行通信 ;
 
2分

6. (单选题, 2分)下列关于Map和Reduce函数的描述,哪个是错误的?

  • A.

    Map将小数据集进一步解析成一批<key,value>对,输入Map函数中进行处理

     

  • B.

    Map每一个输入的<k 1 ,v 1 >会输出一批<k 2 ,v 2 >。<k 2 ,v 2 >是计算的中间结果

     

  • C.

     Reduce输入的中间结果<k 2 ,List(v 2 )>中的List(v 2 )表示是一批属于不同k 2 的value

     

  • D.

    Reduce输入的中间结果<k 2 ,List(v 2 )>中的List(v 2 )表示是一批属于同一个k 2 的value

     

我的答案: C: Reduce输入的中间结果<k 2 ,List(v 2 )>中的List(v 2 )表示是一批属于不同k 2 的value ;正确答案: C: Reduce输入的中间结果<k 2 ,List(v 2 )>中的List(v 2 )表示是一批属于不同k 2 的value ;
 
2分

7. (单选题, 2分)关于MapReduce1.0的体系结构的描述,下列说法错误的是?

  • A.

    Task 分为Map Task 和Reduce Task 两种,分别由JobTracker 和TaskTracker 启动

     

  • B.

    slot 分为Map slot 和Reduce slot 两种,分别供MapTask 和Reduce Task 使用

     

  • C.

    TaskTracker 使用“slot”等量划分本节点上的资源量(CPU、内存等)

     

  • D.

    TaskTracker 会周期性接收JobTracker 发送过来的命令并执行相应的操作(如启动新任务、杀死任务等)

     

我的答案: A:Task 分为Map Task 和Reduce Task 两种,分别由JobTracker 和TaskTracker 启动 ;正确答案: A:Task 分为Map Task 和Reduce Task 两种,分别由JobTracker 和TaskTracker 启动 ;
 
2分

8. (单选题, 2分)下列说法错误的是?

  • A.

     Hadoop MapReduce是MapReduce的开源实现,后者比前者使用门槛低很多

     

  • B.

    MapReduce采用非共享式架构,容错性好

     

  • C.

    MapReduce主要用于批处理、实时、计算密集型应用

     

  • D.

    MapReduce采用“ 分而治之”策略

     

我的答案: A: Hadoop MapReduce是MapReduce的开源实现,后者比前者使用门槛低很多 ;正确答案: C:MapReduce主要用于批处理、实时、计算密集型应用 ;
 
0分

二. 多选题(共6题,16分)

9. (多选题, 2.6分)MapReduce相较于传统的并行计算框架有什么优势?

  • A.

    非共享式,容错性好

     

  • B. 普通PC机,便宜,扩展性好
  • C.

    编程简单,只要告诉MapReduce做什么即可

     

  • D.

    批处理、非实时、数据密集型

     

我的答案: ABCD:非共享式,容错性好 ; 普通PC机,便宜,扩展性好; 编程简单,只要告诉MapReduce做什么即可 ; 批处理、非实时、数据密集型 ;正确答案: ABCD:非共享式,容错性好 ; 普通PC机,便宜,扩展性好; 编程简单,只要告诉MapReduce做什么即可 ; 批处理、非实时、数据密集型 ;
 
2.6分

10. (多选题, 2.6分)MapReduce体系结构主要由以下哪几个部分构成?

  • A.

     Client

     

  • B.

    JobTracker

     

  • C.

    TaskTracker

     

  • D.

    Task

     

我的答案: ABCD: Client ; JobTracker ; TaskTracker ; Task ;正确答案: ABCD: Client ; JobTracker ; TaskTracker ; Task ;
 
2.6分

11. (多选题, 2.7分)下列关于MapReduce的体系结构的描述,说法正确的有?

  • A. 用户编写的MapReduce程序通过Client提交到JobTracker端
  • B.

    JobTracker负责资源监控和作业调度

     

  • C.

    TaskTracker监控所有TaskTracker与Job的健康状况

     

  • D.

    TaskTracker 使用“slot”等量划分本节点上的资源量(CPU、内存等)

     

我的答案: ABD:用户编写的MapReduce程序通过Client提交到JobTracker端; JobTracker负责资源监控和作业调度 ; TaskTracker 使用“slot”等量划分本节点上的资源量(CPU、内存等) ;正确答案: ABD:用户编写的MapReduce程序通过Client提交到JobTracker端; JobTracker负责资源监控和作业调度 ; TaskTracker 使用“slot”等量划分本节点上的资源量(CPU、内存等) ;
 
2.7分

12. (多选题, 2.7分)下列关于Map 端的Shuffle的描述,哪些是正确的?

  • A.

    当数据很少时,不需要溢写到磁盘,直接在缓存中归并,然后输出给Reduce

     

  • B.

     MapReduce默认为每个Map任务分配1000MB缓存

     

  • C. 多个溢写文件归并成一个或多个大文件,文件中的键值对是排序的
  • D. 每个Map任务分配多个缓存,使得任务运行更有效率
我的答案: AC:当数据很少时,不需要溢写到磁盘,直接在缓存中归并,然后输出给Reduce ; 多个溢写文件归并成一个或多个大文件,文件中的键值对是排序的;正确答案: AC:当数据很少时,不需要溢写到磁盘,直接在缓存中归并,然后输出给Reduce ; 多个溢写文件归并成一个或多个大文件,文件中的键值对是排序的;
 
2.7分

13. (多选题, 2.7分)MapReduce执行的全过程包括以下哪几个主要阶段?

  • A.

    从分布式文件系统读入数据

     

  • B.

    执行Map任务输出中间结果

     

  • C. 通过 Shuffle阶段把中间结果分区排序整理后发送给Reduce任务
  • D.

     执行Reduce任务得到最终结果并写入分布式文件系统

     

我的答案: ABCD:从分布式文件系统读入数据 ; 执行Map任务输出中间结果 ; 通过 Shuffle阶段把中间结果分区排序整理后发送给Reduce任务; 执行Reduce任务得到最终结果并写入分布式文件系统 ;正确答案: ABCD:从分布式文件系统读入数据 ; 执行Map任务输出中间结果 ; 通过 Shuffle阶段把中间结果分区排序整理后发送给Reduce任务; 执行Reduce任务得到最终结果并写入分布式文件系统 ;
 
2.7分

14. (多选题, 2.7分)下列说法正确的是?

  • A.

    MapReduce体系结构主要由四个部分组成,分别是:Client、JobTracker、TaskTracker以及Task

     

  • B.

    Task 分为Map Task 和Reduce Task 两种,均由TaskTracker 启动

     

  • C.

     在MapReduce工作流程中,所有的数据交换都是通过MapReduce框架自身去实现的

     

  • D. 在MapReduce工作流程中,用户不能显式地从一台机器向另一台机器发送消息
我的答案: BCD:Task 分为Map Task 和Reduce Task 两种,均由TaskTracker 启动 ; 在MapReduce工作流程中,所有的数据交换都是通过MapReduce框架自身去实现的 ; 在MapReduce工作流程中,用户不能显式地从一台机器向另一台机器发送消息;正确答案: ABCD:MapReduce体系结构主要由四个部分组成,分别是:Client、JobTracker、TaskTracker以及Task ; Task 分为Map Task 和Reduce Task 两种,均由TaskTracker 启动 ; 在MapReduce工作流程中,所有的数据交换都是通过MapReduce框架自身去实现的 ; 在MapReduce工作流程中,用户不能显式地从一台机器向另一台机器发送消息;
 
1.4分