作业(配置会议)是执行浅拷贝还是深拷贝


我发现 Job(Configuration conf(

的官方文档并没有说这个构造函数对输入参数 conf 执行浅拷贝或深拷贝,而它的静态工厂构造函数 Job.getInstance(Configuration conf( 确实根据其文档执行了深拷贝。 我能知道Job(Configuration conf)是否也在所有不同版本的Hadoop版本下执行深度复制吗?

这是当前 Job.java 源的链接。 快速浏览一下就会发现构造函数调用super(conf, null);,所以我们需要抓住超类(JobContext(来偷看。 该构造函数中的相关行如下所示:

this.conf = new org.apache.hadoop.mapred.JobConf(conf);

这导致调用JobConf的超级(Configuration(。 这会导致此配置构造函数。 相关文本:

具有从另一个配置克隆的相同设置的新配置。

您可以在此处查看代码。

相关内容

  • 没有找到相关文章

最新更新