您好,登錄后才能下訂單哦!
本篇內容主要講解“Java的Hadoop FileInputFormat切片機制怎么理解”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Java的Hadoop FileInputFormat切片機制怎么理解”吧!
MapTask的并行度決定Map階段的任務處理并發度,進而影響到整個Job的處理速度。
思考:1G的數據,啟動8個MapTask,可以提高集群的并發處理能力。那么1K的數據,也啟動8個MapTask,會提高集群性能嗎?MapTask并行任務是否越多越好呢?哪些因素影響了MapTask并行度?
切片與MapTask并行度決定機制
數據塊:Block是HDFS物理上把數據分成一塊一塊,默認大小是128M。
數據切片:數據切片只是在邏輯上對輸入數據進行分片,并不會在磁盤上將其切分成片進行存儲。
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());
FileInputFormat切片源碼解析(input.getSplits(job))
到此,相信大家對“Java的Hadoop FileInputFormat切片機制怎么理解”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。