** 本专栏的Hadoop复习计划文章内容主要包含以下几个部分:
【简单】学习通习题
【进阶】课本课后练习
【操作】相关章节实验回顾
让我们开始吧!
学习通 - 习题
1. 下列说法错误的是
A.MapReduce框架采用了Master/Slave架构,包括一个Master和若干个Slave
B.Hadoop框架是用Java实现的,MapReduce应用程序则一定要用Java来写
C.不同的Map任务之间不能互相通信
D.Map函数将输入的元素转换成<key,value>形式的键值对
我的答案:B
解析:
A.MapReduce框架采用了Master/Slave架构,包括一个Master和若干个Slave - 正确
- Master:运行JobTracker
- Slave:运行TaskTracker
B.Hadoop框架是用Java实现的,MapReduce应用程序则一定要用Java来写 - 错误
hadoop 可以通过 hadoop streaming 的方式调用其他编程语言实现 MapReduce,例如c++,Python等
C.不同的Map任务之间不能互相通信 - 正确
D.Map函数将输入的元素转换成<key,value>形式的键值对 - 正确
2. 在使用MapReduce程序WordCount进行词频统计时,对于文本行“hello hadoop hello world”,经过WordCount程序的Map函数处理后直接输出的中间结果,应该是下面哪种形式
A.<"hello",1>、<"hello",1>、<"hadoop",1>和<"world",1>
B.<"hello",2>、<"hadoop",1>和<"world",1>
C.<"hello",<1,1>>、<"hadoop",1>和<"world",1>
D.<"hello",1,1>、<"hadoop",1>和<"world",1>
我的答案:A
解析:
1)map之后的“中间结果”(只产生键值对)
<"hello",1>、<"hello",1>、<"hadoop",1>、<"world",1>
2)shuffle之后的结果(整合)
<"hello",<1,1>>、<"hadoop",1>和<"world",1>
3)reduce之后的结果(统计)