多个输入"/>
多个输入
一种多个输入是指的
:相同的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
更多推荐
多个输入
发布评论