多个输入

一种多个输入是指的 

:相同的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 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值