Spark中stage的劃分

2021-08-15 14:31:37 字數 419 閱讀 8365

如下為spark中劃分stage的原始碼:

dagscheduler將job分解成具有前後依賴關係的多個stage

dagscheduler是根據shuffledependency劃分stage的

stage分為shufflemapstage和resultstage;乙個job中包含乙個resultstage及多個shufflemapstage

乙個stage包含多個tasks,task的個數即該stage的finalrdd的partition數

乙個stage中的task完全相同,shufflemapstage包含的都是shufflemaptask;resultstage包含的都是resulttask

Spark中劃分stage的規則

常見的有map,flatmap,filter,sample 常見的有sortbykey,reducebykey,groupbykey,join 在spark中,每個任務對應乙個分割槽,通常不會跨分割槽運算元據。但如果遇到寬依賴的操作,spark必須從所有分割槽讀取資料,並查詢所有鍵的對應值,然後彙總...

Spark RDD的stage劃分和容錯

rdd resilient distributed dataset 彈性分布式資料集 rdd代表是乙個不可變的 可分割槽的 支援平行計算的元素集合 類似於scala中的不可變集合 rdd可以通過hdfs scala集合 rdd轉換 外部的資料集 支援inputformat 獲得 並且我們可以通知sp...

spark DAG的生成和劃分Stage

dag directed acyclic graph有向無環圖 指的是資料轉換執行的過程,有方向,無閉環 其實就是rdd執行的流程 原始的rdd通過一系列的轉換操作就形成了dag有向無環圖,任務執行時,可以按照dag的描述,執行真正的計算 資料被操作的乙個過程 開始 通過sparkcontext建立...