Mapreduce Job提交流程原始碼和切片原始碼詳解
1)Job提交流程原始碼詳解:
圖示:
程式碼:
waitForCompletion()
submit();
// 1建立連線
connect();
// 1)建立提交Job的代理
new Cluster(getConfiguration());
// (1)判斷是本地yarn還是遠端
initialize(jobTrackAddr, conf);
// 2 提交job
submitter.submitJobInternal(Job.this, cluster)
// 1)建立給叢集提交資料的Stag路徑
Path jobStagingArea = JobSubmissionFiles.getStagingDir(cluster, conf);
// 2)獲取jobid ,並建立Job路徑
JobID jobId = submitClient.getNewJobID();
// 3)拷貝jar包到叢集
copyAndConfigureFiles(job, submitJobDir);
rUploader.uploadFiles(job, jobSubmitDir);
// 4)計算切片,生成切片規劃檔案
writeSplits(job, submitJobDir);
maps = writeNewSplits(job, jobSubmitDir);
input.getSplits(job);
// 5)向Stag路徑寫XML配置檔案
writeConf(conf, submitJobFile);
conf.writeXml(out);
// 6)提交Job,返回提交狀態
status = submitClient.submitJob(jobId, submitJobDir.toString(), job.getCredentials());
2)FileInputFormat切片原始碼解析(input.getSplits(job))
相關文章
- MapReduce 詳解與原始碼分析原始碼
- MapReduce——客戶端提交任務原始碼分析客戶端原始碼
- spark核心(下)——job任務提交原始碼解析Spark原始碼
- SpringSecurity認證流程原始碼詳解SpringGse原始碼
- 【zookeeper原始碼】啟動流程詳解原始碼
- shiro登陸流程原始碼詳解原始碼
- elastic-job 原始碼解讀之從原始碼看null值AST原始碼Null
- Kubernetes Job Controller 原理和原始碼分析(一)Controller原始碼
- 【Redis原始碼】Redis 6 ACL原始碼詳解Redis原始碼
- zxing開源庫工作流程原始碼詳解原始碼
- ProgressHUD原始碼詳解原始碼
- HashMap原始碼詳解HashMap原始碼
- redux 原始碼詳解Redux原始碼
- TimSort原始碼詳解原始碼
- Flink原始碼剖析:Jar包任務提交流程原始碼JAR
- PostgreSQL 原始碼解讀(122)- MVCC#7(提交事務-整體流程)SQL原始碼MVCC#
- 【Hudi】原始碼解讀——Archive 流程原始碼Hive
- LinkedList詳解-原始碼分析原始碼
- ArrayList詳解-原始碼分析原始碼
- Spring 原始碼詳解(一)Spring原始碼
- 【原始碼分析】XXL-JOB的執行器的註冊流程原始碼
- 【原始碼解讀】asp.net core原始碼啟動流程精細解讀原始碼ASP.NET
- Spark3.0YarnCluster模式任務提交流程原始碼分析SparkYarn模式原始碼
- 深入OKHttp原始碼分析(一)----同步和非同步請求流程和原始碼分析HTTP原始碼非同步
- OceanBase 原始碼解讀(八):事務日誌的提交和回放原始碼
- React Scheduler 原始碼詳解(1)React原始碼
- ArrayMap詳解及原始碼分析原始碼
- LeakCanary詳解與原始碼分析原始碼
- EventBus詳解及原始碼分析原始碼
- React Scheduler 原始碼詳解(2)React原始碼
- 詳解HashMap原始碼解析(下)HashMap原始碼
- 詳解HashMap原始碼解析(上)HashMap原始碼
- 三方庫原始碼筆記(1)-EventBus 原始碼詳解原始碼筆記
- Django模型驗證器詳解和原始碼分析Django模型原始碼
- .net post提交和獲得html頁面的原始碼HTML原始碼
- Glide原始碼解析四(解碼和轉碼)IDE原始碼
- 超詳細的 Bert 文字分類原始碼解讀 | 附原始碼文字分類原始碼
- Golang 切片(Slice)底層原始碼閱讀Golang原始碼