mapreduce job提交原始碼流程

2021-10-24 23:20:21 字數 1236 閱讀 4528

waitforcompletion()

submit()

;// 1建立連線

connect()

;// 1)建立提交job的**

newcluster

(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()

);

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-siwxaul3-1603113681436)(

從HiveQL到MapReduce job過程簡析

hiveql是一種宣告式語言,使用者提交查詢,而hive會將其轉換成mapreduce job,如下圖。一般來說大部分時間可以無視這個執行過程的內部邏輯,但是如果能了解這些底層實現細節,在調優的時候就會更得心應手。將hiveql轉化為mapreduce任務,整個編譯過程主要分為六個階段 1 antl...

大資料學習 之MapReduce Job

1 先把yarn服務停了 hadoop hadoop001 hadoop 2.6.0 cdh5.7.0 sbin stop yarn.sh 2 把之前的資訊刪了 hadoop hadoop001 hadoop 2.6.0 cdh5.7.0 hdfs dfs rm r f user 3 再建立hdfs...

MapReduce JOB 的輸出與輸出筆記。

提高 mapreduce 價值,自定義輸入和輸出。比如 跳過儲存到 hdfs 中這個耗時的布置。而只是從 原始資料源接受資料,或者 直接將資料傳送給某些處理程式。這些處理 程式在 mapreduce 作業完成後使用這些資料。有時由檔案塊和輸入 split 組成的基礎 hadoop 正規化並不能滿足需...