获取添加到Hadoop MR作业的输入文件数

时间:2013-07-22 20:46:17

标签: java hadoop mapreduce

如何获取作为对FileInputFormat.addInputPath和FileInputFormat.addInputPaths的调用的一部分添加的输入文件的数量。我正在尝试添加与某些模式匹配的输入文件,如果没有文件与模式匹配,并且没有此MR作业的输入文件,我想将消息记录给用户,而不是完全提交作业。

谢谢,

Venkat

1 个答案:

答案 0 :(得分:4)

FileInputFormat将数据存储在名为 mapred.input.dir Configuration变量中,因此您可以使用以下内容:

Configuration conf = job.getConfiguration();
String dirs = conf.get("mapred.input.dir");
String[] arrDirs = dirs.split(",");
int numDirs = arrDirs.length;

执行此操作的源代码的相关部分是:

conf.set("mapred.input.dir", dirs == null ? dirStr : dirs + "," + dirStr);