客戶端提交mr job原始碼流程分析

2021-08-17 20:18:40 字數 470 閱讀 1869

job=job.getinstance獲得job物件

job.set 新增configuration等配置引數

job.waitforcomplete()原始碼內部實則呼叫submit()方法

之後jobsubmiter中有個成員cluster cluster中又有個成員proxy**物件,幫助提交到yarn上去,yarnrunnable

通過yarnrunnable拿到乙個提交資源的路徑stagingdir ,

再通過runnable拿到乙個jobid,然後jobid+stangingdir構成乙個提交路徑

呼叫fileinputformat.getsplit()獲取切片規劃的list,即與128m想比較

序列化list成乙個檔案job.split,,拷貝到jobid+stangingdir構成的目錄中

將job相關引數寫成乙個job.xml檔案,同樣cp到路徑中去

拷貝jar包到路徑中去

MR Job提交流程原始碼和切片原始碼詳解

waitforcompletion submit 1建立連線 connect 1 建立提交job的 newcluster getconfiguration 1 判斷是本地yarn還是遠端 initialize jobtrackaddr,conf 2 提交job submitter.submitjob...

mapreduce job提交原始碼流程

waitforcompletion submit 1建立連線 connect 1 建立提交job的 newcluster getconfiguration 1 判斷是本地yarn還是遠端 initialize jobtrackaddr,conf 2 提交job submitter.submitjob...

HDFS客戶端 輸出流原始碼解析

一 建立檔案 1 dfsclient.create 用於建立乙個空檔案,返回乙個輸出流物件。在函式內部,會構造乙個dfsoutputstream,它主要是通過namenode的rpc方法,建立乙個檔案到namenode。2 此建構函式還會計算乙個包中最大可以放的資料。一般來說,資料報最大能達到64k...