hadoop中的多输入目录
所以,我有两个不同的目录。。我想用不同的方式处理。。。 为此我得找地图绘制员 数据1 数据2 还有我的司机。。我补充如下:hadoop中的多输入目录,hadoop,Hadoop,所以,我有两个不同的目录。。我想用不同的方式处理。。。 为此我得找地图绘制员 数据1 数据2 还有我的司机。。我补充如下: MultipleInputs.addInputPath(job, new Path( args[0]), TextInputFormat.class, Data1.class); MultipleInputs.add
MultipleInputs.addInputPath(job, new Path( args[0]),
TextInputFormat.class,
Data1.class);
MultipleInputs.addInputPath(job, new Path(args[1]),
TextInputFormat.class,
Data2.class);
但我现在想要的是从中选择两个文件
所以。。通常我们就是这样做的
FileInputFormat.addInputPaths(job,"Data1/part-00000,Data1/part-00000");
但是。。如何在MultiInputs对象中指定特定文件
基本上。。两个制图员。。正在处理两个不同的输入。。。但是我想指定在两个目录中读取哪些文件以供映射程序处理。?
在hadoop中如何执行此操作?调用addInputPath两次:
MultipleInputs.addInputPath(job, new Path("Data1/part-00000"),
TextInputFormat.class,
Data2.class);
MultipleInputs.addInputPath(job, new Path("Data1/part-00002"),
TextInputFormat.class,
Data2.class);
此调用的作用只是“将具有自定义InputFormat的路径添加到map reduce作业的输入列表中”。如果某些路径具有相同的InputFormat,则应该可以
如果您有许多这样的文件,您可以将它们放在一个列表中,然后循环添加它们
。实际上,我不知道MultipleInputs如何与FileInputFormat协调工作,但是您可以尝试使用您想要的任何路径过滤逻辑来实现PathFilter类,如果您可以通过使用正则表达式或简单规则来选择所有预期的部分,这可能会更好