您的位置:首页 > 职场人生

Hadoop面试题

2014-02-25 23:46 351 查看
Q1.列举出hadoop中定义的最常用的InputFormats。哪个是默认的?
Ans: hadoop中定义的最常见的InputFormats有TextInputFormat,KeyValueInputFormat,SequenceFileInputFormat。默认的InputFormats是TextInputFormats。

Q2. TextInputFormat和KeyValueInputFormat类之间的不同之处在于哪里?
Ans: TextInputFormat读取文本文件中的所有行,提供了行的偏移作为Mapper的键,实际的行作为mapper的值。
KeyValueInputFormat读取文本文件,解析所有行到中,首个空格前的字符是mapper的key,行的其余部分则是mapper的值。

Q3. hadoop中的InputSplit是什么?
Ans: 当一个hadoop job 运行时,它将输入文件拆分成块,分配每个块给各个mapper处理。这称为Input Split。

Q4. hadoop框架中文件拆分是如何被触发的?
Ans: 通过运行输入格式类中的getInputSplit()方法。

Q5. 考虑一种情况:Map/Reduce系统中,HDFS块大小事64MB,输入格式FileInputFormat,有三个文件64K,65MB,127MB,那么有hadoop框架会将输入划分成多少?
Ans:hadoop将会做5个拆分,64K文件拆分1个,65MB文件拆分2个,127MB文件拆分2个。

Q6. hadoop中的RecordReader的目的是什么?
Ans: InputSplit已经定义了部分工作,但没有描述如何访问它。RecordReader类实际从它的源加载数据,并转换成适合Mapper读取。RecordReader示例由InputFormat定义。

Q7. 如果hadoop中没有定义定制分区,那么如何在输出到reducer前执行数据分区?
Ans: 默认的分区器为各个键计算一个哈希值,并分配给基于这个结果的分区。

Q8. 什么是Combiner?
Ans: Combiner是一个最小删减的过程,处理由mapper产生的数据。Combiner将会接收某个节点上由mapper实例发送的所有数据。Combiner的输出被送到Reducer,代替Mapper的输出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hadoop