写MR过程中经常会遇到多个源路径的输入,我们可以在MR程序主函数中通过FileInputFormat.addInputPaths(job,args[0])方法来实现,
args[0]可以是folder1或者folder1,folder2只要以逗号分隔就可以了。
这样在执行MR的时候,输入会将多个源路径全部多为map输入进行执行。
另外一种实现单输入的方法(只支持一个目录作为输入目录):
FileInputFormat.setInputPaths(job, new Path(args[0]));
当然FileInputFormat.addInputPaths是兼容FileInputFormat.setInputPath的,也就是说如果我调用的是多输入路径函数,但是输入数据源只有一个路径,也是能够正常执行的,所以通用起见,FileInputFormat.addInputPaths是个更好的选择。
时间: 2024-10-26 21:09:58