Hadoop面试题

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的输出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值