我发现job的官方文档(configurationconf)没有说这个构造函数对输入参数执行浅拷贝或深拷贝 conf ,而它的静态工厂构造函数job.getinstance(configuration)根据其文档执行深度复制。我能知道 Job(Configuration conf) 在所有不同版本的hadoop版本下也执行深度复制?
conf
Job(Configuration conf)
tpgth1q71#
下面是指向当前job.java源代码的链接。快速浏览一下就会发现构造函数调用 super(conf, null); ,所以我们需要抓住超级班( JobContext )看一眼。该构造函数中的相关行如下所示:
super(conf, null);
JobContext
this.conf = new org.apache.hadoop.mapred.JobConf(conf);
这导致了 JobConf 太棒了( Configuration ). 这将导致此配置构造函数。相关文本:具有从另一个克隆的相同设置的新配置。你可以在这里查看代码。
JobConf
Configuration
1条答案
按热度按时间tpgth1q71#
下面是指向当前job.java源代码的链接。快速浏览一下就会发现构造函数调用
super(conf, null);
,所以我们需要抓住超级班(JobContext
)看一眼。该构造函数中的相关行如下所示:这导致了
JobConf
太棒了(Configuration
). 这将导致此配置构造函数。相关文本:具有从另一个克隆的相同设置的新配置。
你可以在这里查看代码。