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
Java 传递到映射器函数(设置、映射、运行、清理)的上下文是否始终相同? 是否将相同的上下文传递到 制图员 会不会有不一样的情况 能否将上下文设置为设置中的成员字段_Java_Hadoop - Fatal编程技术网

Java 传递到映射器函数(设置、映射、运行、清理)的上下文是否始终相同? 是否将相同的上下文传递到 制图员 会不会有不一样的情况 能否将上下文设置为设置中的成员字段

Java 传递到映射器函数(设置、映射、运行、清理)的上下文是否始终相同? 是否将相同的上下文传递到 制图员 会不会有不一样的情况 能否将上下文设置为设置中的成员字段,java,hadoop,Java,Hadoop,以下是有关的文档。给定一个特定的作业,某些属性(如getJobID())保持不变,而某些属性(如getInputSplit())可能在同一作业中的不同映射中有所不同。以下是相关文档。给定一个特定的作业,某些属性(如getJobID())保持不变,而某些属性(如getInputSplit())可能在同一作业中的不同映射中有所不同。是在同一映射器中,它是setup()、map()和cleanup()中的同一个上下文对象 如您所见,这些方法是从run()调用的,该方法如下所示: public void

以下是有关的文档。给定一个特定的作业,某些属性(如
getJobID()
)保持不变,而某些属性(如
getInputSplit()
)可能在同一作业中的不同映射中有所不同。

以下是相关文档。给定一个特定的作业,某些属性(如
getJobID()
)保持不变,而某些属性(如
getInputSplit()
)可能在同一作业中的不同映射中有所不同。

是在同一映射器中,它是
setup()
map()
cleanup()中的同一个上下文对象

如您所见,这些方法是从
run()
调用的,该方法如下所示:

public void run(Context context) throws IOException, InterruptedException {
    setup(context);
    while (context.nextKeyValue()) {
      map(context.getCurrentKey(), context.getCurrentValue(), context);
    }
    cleanup(context);
  }
这应该回答了您的第1点和第2点,对于第3点,您可以重写run方法以获得更多的控制,正如Javadoc所建议的:

专家用户可以覆盖此方法以更全面地控制 映射程序的执行

也许您不需要为上下文保留成员字段,但确实可以

此外,当对象相同时,可以在任何方法中设置或取消设置其属性值,使其处于与传递给另一个方法(设置、映射或清理)时不同的状态。

是在同一映射器中,它是
设置()
映射()
清理()
中的同一个上下文对象

如您所见,这些方法是从
run()
调用的,该方法如下所示:

public void run(Context context) throws IOException, InterruptedException {
    setup(context);
    while (context.nextKeyValue()) {
      map(context.getCurrentKey(), context.getCurrentValue(), context);
    }
    cleanup(context);
  }
这应该回答了您的第1点和第2点,对于第3点,您可以重写run方法以获得更多的控制,正如Javadoc所建议的:

专家用户可以覆盖此方法以更全面地控制 映射程序的执行

也许您不需要为上下文保留成员字段,但确实可以

此外,虽然对象是相同的,但它的属性值可以在任何方法中设置或取消设置,使其处于与传递给另一个方法(设置、映射或清理)时不同的状态