我发现Job(Configuration conf)的官方文档没有说这个构造函数对输入参数执行浅拷贝或深拷贝conf
,而它的静态工厂构造函数Job.getInstance(Configuration conf)确实根据它的文档执行深拷贝. 我能知道Job(Configuration conf)
在所有不同版本的hadoop版本下是否也执行深拷贝吗?
问问题
96 次
1 回答
2
这是当前 Job.java 源的链接。快速浏览一下构造函数调用super(conf, null);
,因此我们需要抓住超类 ( JobContext
) 进行查看。该构造函数中的相关行在这里:
this.conf = new org.apache.hadoop.mapred.JobConf(conf);
这会导致调用JobConf
's super ( Configuration
)。这导致了这个 Configuration 构造函数。相关文字:
从另一个克隆具有相同设置的新配置。
您可以在此处查看代码。
于 2013-10-11T03:18:24.973 回答