在这篇文章中主要关注MapReduce作业的输入和输出,由于Hadoop版本的变化及本人对这些变化了解的还不够深入,难免有描述不清楚的地方,会在进一步学习后更正不准确的地方。
作业输入
InputFormat
描述了MapReduce作业的输入规范。MapReduce框架依靠作业的
InputFormat
实现:
1.
验证作业的输入规范。
2.
将输入文件分割为逻辑的
InputSplit
,每个InputSplit被分配给单个的Mapper。
3.
提供
RecordReader
的实现用于收集来自逻辑InputSplit的输入记录,进而被Mapper处理。
基于文件的InputFormat的默认行为,通常是FileInputFormat的子类,是基于输入文件的总的大小(单位为字节)将输入分割到逻辑InputSplit中。但是输入文件的
FileSystem
块大小作为InputSplit的上限&#