哪个映射器被分配

时间:2015-10-03 11:53:20

标签: hadoop hadoop2

我正在尝试在Hadoop mapreduce中加入某些安全功能,我想知道这一点。对于mapreduce程序,我如何知道哪个映射器被分配。

假设我正在编写wordcount示例并使用5个文件,并且有一组计算机。如何知道哪台机器访问了哪个文件?

1 个答案:

答案 0 :(得分:0)

您可以在映射器中使用以下代码:

CombineFileSplit split = (CombineFileSplit)context.getInputSplit();
Path[] paths = split.getPaths();
for (Path path : paths) {
    //Source HDFS file path belongs to processing input split
}

但你应该明白,当mapper启动时,它不会处理文件。一般而言,映射器进程输入拆分可能包含多个源HDFS文件。因此,我上面描述的方法可以返回多个输入文件。