Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
hadoop中的多输入目录_Hadoop - Fatal编程技术网

hadoop中的多输入目录

hadoop中的多输入目录,hadoop,Hadoop,所以,我有两个不同的目录。。我想用不同的方式处理。。。 为此我得找地图绘制员 数据1 数据2 还有我的司机。。我补充如下: MultipleInputs.addInputPath(job, new Path( args[0]), TextInputFormat.class, Data1.class); MultipleInputs.add

所以,我有两个不同的目录。。我想用不同的方式处理。。。 为此我得找地图绘制员

数据1 数据2

还有我的司机。。我补充如下:

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类,如果您可以通过使用正则表达式或简单规则来选择所有预期的部分,这可能会更好