多个输入

来源:互联网 发布:淘宝手机自动挂机赚钱 编辑:程序博客网 时间:2024/06/05 19:10

一种多个输入是指的 

:相同的Mapper 和 InputFormat


就直接调用

   FileInputFormat.addInputPath(job, inputPath);

   FileOutputFormat.setOutputPath(job, new Path(args[1]));


另外一种是指的

-==================================================

虽然一个MR作业的输入可能包含多个输入文件(由glob、过滤器和路径组成)但是所有文件都都由同一个InputFormat和同一个Mapper来解释,然而,数据格式往往会随着时间的变化而演变。 所有必须要写自己的mapper来处理应用中的一流数据格式问题, 

对数据集进行连接(Join 也成连接) 操作时, 变回产生这样的问题, 参见 8.2.2结,例如 有些数据可能是使用的制表符分割的文本文件, 另外一些可能是二进制文件。 即使他们格式相同, 他们的标示也可能不同, 因此需要分别进行解析。


这些问题可以用MultipleInputs类来妥善处理, 他允许为每条输入路径制定 InputFormat 和Mapper  

例如我们要想把因果Met Office的气象数据和NCDC的气象数据放在一起来分析最高气温, 则可以按照下面的方式 来设置输入路径

MultipleInputs.addInputPath(job, ncdcInputPath, TextInputFormat.class, MaxTemperatureMapper.class);


hadoop权威指南 page=270 

0 0
原创粉丝点击