通过InputFormat,Hadoop可以:

l           检查MapReduce输入数据的正确性;

l           将输入数据切分为逻辑块InputSplit,这些块会分配给Mapper;

l           提供一个RecordReader实现,Mapper用该实现从InputSplit中读取输入的<K,V>对。

通过FileInputFormat。下面几个参数可以用于配置FileInputFormat:

l           mapred.input.pathFilter.class:输入文件过滤器,通过过滤器的文件才会加入InputFormat;

l           mapred.min.split.size:最小的划分大小;

l           mapred.max.split.size:最大的划分大小;

l           mapred.input.dir:输入路径,用逗号做分割。


java.lang.Object
  extended by org.apache.hadoop.mapreduce.InputFormat<K,V>
      extended by org.apache.hadoop.mapreduce.lib.input.FileInputFormat<K,V>
          extended by org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat<K,V>



java.lang.Object
  extended by org.apache.hadoop.mapreduce.InputFormat<K,V>
      extended by org.apache.hadoop.mapreduce.lib.input.FileInputFormat<LongWritable,Text>
          extended by org.apache.hadoop.mapreduce.lib.input.TextInputFormat


TextInputFormat: 默认的输入格式,行号为Key,文件中该行的内容为value

SequenceFileInputFormat: key-value 对的二进制文件
	通过如下方式进行设置使用:
 	job.setInputFormatClass(SequenceFileInputFormat.class);
   	job.setOutputFormatClass(SequenceFileOutputFormat.class);

版权声明:本文为baoendemao原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/baoendemao/p/3804713.html