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 正規化並不能滿足需...