spark基本概念與執行架構

2022-09-11 14:18:21 字數 1076 閱讀 8686

apache spark是乙個分布式計算框架,旨在簡化執行於計算機集群上的並行程式的編寫。

rdd:彈性分布式資料集(resilient distributed dataset)是分布式記憶體的乙個抽象概念,提供了乙個高度受限的共享記憶體模型。乙個rdd包含多個分割槽(partition)。

dag:有向無環圖(directed acyclic graph)反應rdd之間的依賴關係。

executor:執行在工作節點(worknode)的乙個程序,負責執行task。

task:執行在executor上的工作單元。

job:乙個job包含多個rdd及作用於相應rdd上的各種操作。

stage:是job的基本排程單位,乙個job會分為多組task,每組task被稱為stage,或者也被稱為taskset,代表了一組由關聯的、相互之間沒有shuffle依賴關係的任務組成的任務集。

與mapreduce相比的優勢:

為應用構建起基本的執行環境,即由driver建立乙個sparkcontext進行資源的申請、任務的分配和監控。

資源管理器為executor分配資源,並executor啟動程序。

sparkcontext根據rdd的依賴關係構建dag圖,dag圖提交給dagscheduler解析成stage,然後把乙個個taskset提交給底層排程器taskscheduler處理;executor向sparkcontext申請task,taskscheduler將task發放給executor執行並提**用程式**。

task在executor上執行把執行結果反饋給taskschedulor,然後反饋給dagscheduler,執行完畢後寫入資料並釋放所有資源。

spark執行架構特點

spark執行過程與資源管理器無關,只要能夠獲取executor程序並儲存通訊即可。

task採用資料本地性和推測執行等優化機制。

(廈門大學大資料公開課筆記)

Spark基本概念

下面是spark的乙個日誌計數示例,該程式演示了spark的計算模型 下面是spark執行時涉及的各元件的概況圖 從rdd轉換和儲存角度,使用者程式對rdd通過多個函式進行操作,將rdd進行轉換。block manager管理rdd的物理分割槽,每個block就是節點上對應的乙個資料塊,可以儲存在記...

Spark基本概念

a.driver programs通過sparkcontent物件訪問spark b.sparkcontent代表和乙個集群的鏈結 c.在shell中sparkcontent物件自動建立好了,就是sc 主要分為兩種 python shell和 scala shell 現在主要介紹scala shel...

spark 基本概念與入門

可以認為應用是多次批量計算組合起來的過程,在物理上可以表現為你寫的程式包 部署配置。應用的概念類似於計算機中的程式,它只是乙個藍本,尚沒有執行起來。spark學習筆記三 spark原理介紹 sparkcontext spark最重要的api,使用者邏輯與spark集群主要的互動介面,它會和clust...