MapReduce分布式计算框架
共5道,答对3题
70
总分100分
-
1. 多选题下列关于MapReduce的说法,错误的是? [多选题](20分)
- Amap()方法(maptask进程)对每一个<K,V>调用多次
- BDriver阶段提交的是封装了mapreduce程序相关运行参数的job对象
- Creduce阶段指定job的输出结果所在目录
- D执行Wordcount程序的命令是hadoop xxxx.jar Driver驱动类的全限定类名 hdfs上的输入文件路径 hdfs上的输出目录路径
部分答对 +10分 正确答案为 ACD
答案解析
解析:A、map()方法(maptask进程)对每一个调用一次 B、正确C、driver阶段指定job的输出结果所在目录D、 执行Wordcount程序的命令是hadoop jar xxxx.jar Driver驱动类的全限定类名 hdfs上的输入文件路径 hdfs上的输出目录路径
-
2. 多选题一个完整的mapreduce程序在分布式运行时有三类实例进程,是哪三个? [多选题](20分)
- AMrAppMaster:负责整个程序的过程调度及状态协调。
- BMapTask:负责map阶段的整个数据处理流程。
- CReduceTask:负责reduce阶段的整个数据处理流程。
- DDriver: 负责关联Mapper和Reducer,并且提交任务到集群
D 选项 回答错误, 正确答案为 ABC
-
3. 多选题关于序列化的说法中,错误的是? [多选题](20分)
- A序列化就是把字节序列转换成内存中的对象,以便于存储(持久化)和网络传输。
- Bhadoop自己开发的Writable比Java的序列化 serilazable更快
- C常用的数据类型long对应的hadoop数据序列化类型为Text
- DWritable序列化支持不同语言写的客户端和服务端进行交互;
回答正确 +20分
答案解析
解析:A、序列化就是把内存中的对象转换成字节序列,以便于存储(持久化)和网络传输。B、hadoop自己开发的Writable比Java的序列化 serilazable更快,正确C、常用的数据类型String对应的hadoop数据序列化类型为TextD、Writable序列化支持不同语言写的客户端和服务端进行交互; 正确
-
4. 多选题关于shuffle的说法中,错误的是? [多选题](20分)
- AShuffle中的缓冲区大小会影响到mapreduce程序的执行效率,原则上说,缓冲区越大,磁盘io的次数越少,执行速度就越慢。
- B缓冲区的大小可以通过参数调整,参数:io.sort.mb 默认200M
- C用户可以通过配置参数控制哪个key存储到哪个分区。
- DMapTask的个数决定了有几个输出结果文件
回答正确 +20分
答案解析
解析:A.Shuffle中的缓冲区大小会影响到mapreduce程序的执行效率,原则上说,缓冲区越大,磁盘io的次数越少,执行速度就越快。B.缓冲区的大小可以通过参数调整,参数:io.sort.mb 默认100MC.默认分区是根据key的HashCode对ReduceTask个数取模得到的。D.ReduceTask的个数决定了有几个输出结果文件
-
5. 多选题下列说法正确的是? [多选题](20分)
- ACombiner组件的父类就是Reducer
- BHDFS网络开销较小,适合做网盘使用
- CReducetask数量可以直接手动设置
- DMapTask数量的直接手动设置
回答正确 +20分
答案解析
解析:A、Combiner组件的父类就是ReducerB、HDFS网络开销较大,不适合做网盘使用C、Reducetask数量的决定是可以直接手动设置D、maptask的并发数由切片数决定