架構流程圖
說明
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...