Hadoop MapReduce:固定数量的输入文件



for Map Reducer Job

在我的输入目录中有大约1000个文件。每个文件包含一些GB的数据。

例如/MyFolder/MyResults/in_data/20140710/包含1000个文件。

当我给输入路径作为/MyFolder/MyResults/in_data/20140710时,它需要处理所有1000个文件。

我想通过一次只谈论200个文件来运行一个作业。我们该怎么做呢?

下面是我要执行的命令:

hadoop jar wholefile.jar com.form1.WholeFileInputDriver -libjars myref.jar -D mapred.reduce.tasks=15 /MyFolder/MyResults/in_data/20140710/ <<Output>>

可以帮助我,如何运行一个作业,如批处理大小的输入文件。

Thanks in advance

vim

一种简单的方法是修改驱动程序,使其只从该目录中的所有文件中取出200个文件作为输入。像这样:

FileSystem fs = FileSystem.get(new Configuration());
FileStatus[] files = fs.globStatus(new Path("/MyFolder/MyResults/in_data/20140710/*"));
for (int i=0;i<200;i++) {
    FileInputFormat.addInputPath(job, files[i].getPath());
}

相关内容

  • 没有找到相关文章

最新更新