Spark複習之一

2021-10-13 14:50:19 字數 1005 閱讀 8514

rdd 只支援粗粒度轉換,即在大量記錄上執行的單個操作。將建立 rdd 的一系列 lineage

(血統)記錄下來,以便恢復丟失的分割槽。rdd 的 lineage 會記錄 rdd 的元資料資訊和轉

換行為,當該 rdd 的部分分割槽資料丟失時,它可以根據這些資訊來重新運算和恢復丟失的

資料分割槽。

rdd在lineage依賴方面分為兩種narrow dependencies與wide dependencies用來解決數

據容錯時的高效性以及劃分任務時候起到重要作用。

窄依賴表示每乙個父(上游)rdd 的 partition 最多被子(下游)rdd 的乙個 partition 使用;

寬依賴表示同乙個父(上游)rdd 的 partition 被多個子(下游)rdd 的 partition 依賴,

會引起 shuffle。

乙個spark應用程式包括job,stage,task

job是以action方法為界,遇到乙個action方法則觸發乙個job;

stage是job的子集,以rdd寬依賴為界,遇到shuffle做一次劃分

task是stage的子集,以並行度來衡量,分割槽數是多少,則有多少個task

spark的任務排程是從dag切割開始,主要是由dagscheduler來完成.當遇到乙個aciton操作後就會觸發乙個job的計算,sparkcontext將job交給dagscheduler提交,它會根據rdd的血緣關係構成的dag進行切分,將乙個job劃分為若干個stages,具體劃分策略是,由最終的rdd不斷通過依賴回溯判斷父依賴是否是寬依賴,即以shuffle為界,劃分stage,窄依賴的rdd之間被劃分到同乙個stage中,可以進行pipeline式的計算.劃分的stages分兩類,一類叫做resultstage,為dag最下游的stage,由action方法決定,另一類叫做shufflemapstage,為下游stage準備資料.

stage提交時會將task資訊序列化並被打包成taskset交給taskscheduler,乙個partition對應乙個task.

Oracle複習之一

oracle7 以前用varchar不支援國際化 varchar2支援 查詢語句 dml 資料操作語言 ddl 資料定義語言 select select from emp select ename,sal 12 from emp select 2 3 from dual dual 表就一條記錄 乙個...

作業系統複習之一

1.1.2 作業系統特徵 併發 concurrence兩個或多個事件在同一時間間隔內發生 引入程序的目的是實現併發 共享 sharing資源可供多個併發執行的程序共同使用 某些資源如印表機一段時間內只允許乙個程序訪問 這叫互斥訪問 某些資源如硬碟 巨集觀上允許多程序同時訪問 虛擬 virtual把乙...

複習html和css之一

目錄 css權重 css查詢順序 css樣式 html元素 css企業級開發經驗 這裡列舉出幾個我覺得用的多的css選擇器 div span demo demo span demo p strong 又叫父子選擇器 或者後代選擇器 能夠選擇某個 些 元素以下層級的元素。因為這個以下層級不僅僅是指直接...