Spark系列 四 整體架構分析

2021-07-25 04:00:36 字數 973 閱讀 6538

架構流程圖

說明

driver端流程說明(standalone模式)

通過反射的方式建立和構造乙個driveractor程序(driver程序).

sparkcontext初始化,構造dagscheduler和taskscheduler.

每執行到乙個action操作就會建立乙個job,該job會提交到dagscheduler,劃分為多個stage然後為每個stage建立乙個taskset.

taskscheduler把taskset中的每乙個task提交到executor上執行(task分配演算法).

sparkcontext的初始化在所有executor完成反向註冊後才完成,並繼續執行提交的應用程式.

master和worker流程說明

executor啟動之後反註冊到taskscheduler.

executor每次收到乙個task都會用taskrunner來封裝task,然後從執行緒池裡取出乙個執行緒執行這個task.

taskrunner將需執行的運算元及函式、拷貝、反序列化然後執行task.

窄依賴

英文名:narrow depandency

乙個rdd對它的父rdd,只有簡單的一對一的依賴關係,也就是說rdd的每個partition僅僅依賴於父rdd中的乙個partition.父rdd和子rdd的partition之間的對應關係為一對一

寬依賴

英文名:shuffle dependency

本質為shuffle,每乙個父rdd的partition中的資料,都可能會傳輸一部分到下乙個rdd的每乙個oartition.該情況下父rdd和子rdd的partition之間是多對一的關係

Spark原始碼分析 Spark整體架構

術語 描述使用者編寫的程式。driver端的sparkcontext sparkconf和執行在executors上使用者編寫的業務邏輯 即map reduce reducebykey等 driver 執行使用者編寫應用程式的main 方法並建立sparkcontext worker 具體執行應用程...

J U C系列(整體架構)

executors是乙個執行緒池工具類包含以下幾個靜態方法 a.newsinglethreadexecutor單個執行緒的執行緒池。b.newcachedthreadpool這是乙個可快取的執行緒池,如果沒有執行緒池中沒有執行緒則自動建立。c.newfixedthreadpool固定長度的執行緒池。...

實時 1 0 需求分析 整體架構

離線t 1 需求 一般是根據前一日的資料生成報表等資料,雖然統計指標 報表繁多,但是對時效性不敏感。實時t 0 需求 主要側重於對當日資料的實時監控,通常業務邏輯相對離線需求簡單一下,統計指標也少一些,但是更注重資料的時效性,以及使用者的互動性。即席需求 臨時需求,可用即席查詢如impala pre...