spark DAG 切分 stage

一、DAG的總體圖spa

簡要說明(我的理解):hash

①當全部的RDD觸發action的時候,會生成一個DAGit

②stage是由DAG進行切分的,能夠理解stage是一個tasksetio

③DAG是根據寬依賴進行切分stage的,stage是由Driver進行提交的map

④stage是一個一個提交的,當前一個stage計算完成的時候,下一個stage纔會進行拉取計算im

經過hue頁面能夠看到一個stage包括幾個task任務總結

二、如何切分stageimg

DAG是根據寬依賴與窄依賴進行切分,通常來講,有shuffle的時候,就會切分前一個stage,也能夠是以寬依賴進行切分的co

①窄依賴:join

②寬依賴

③整體

總結:

①通常來講,reducebykey,groupbykey都是shuffle階段,要切分

②若是是jion的話,有兩種狀況,一種是groupby以後的,這種狀況是屬於窄依賴

另外一種是直接join,產生shuffle屬於寬依賴

③默認是以key的hashpartition進行分區,反正是shuffle階段就是要切分

④像map,flatMap,都是窄依賴

相關文章
相關標籤/搜索