目前碰到的改變的有
1.Create Job方法
多了Cluster.java
Create Job前 先Create一個Cluster
Cluster cluster = new Cluster(new Configuration());
//會自動load configuration檔 (在conf.get第一次被呼叫時才load)
再用
Job job = job.getInstance(cluster,conf)
//會呼叫 new Job(cluster,conf)
也可用 job.getInstance(cluster)
//會呼叫new Job(cluster) ==> Job(cluster,new Configuration())
JobID給值的時間
Job.waitForCompletion(true) ==> submit() ==> JobSubmitter 的 submitJobInternal
==> JobID 在 JobSubmitter中submitJobInternal給值
2.FileSystem多了 newInstance(conf) method
額外的寫檔用newInstance來寫 寫完關掉 比較安全
不然會不小心關到MapReduce用的FileSystem Object
3.DistributedCache存取方式改變
設定
由原來的DistributedCache.addCacheFile(new URI("/tmp/D_Matrix"),conf);
變成job.addCacheFile(new URI("/tmp/D_Matrix"));
取出
由localFiles = DistributedCache.getLocalCacheFiles(context.getConfiguration());
變成localFiles = context.getLocalCacheFiles();