Spark遵循主從架構。它的叢集由一個主伺服器和多個從伺服器組成。
Spark架構依賴於兩個抽象:
彈性分散式資料集是可以儲存在工作節點上的記憶體中的資料項組。
稍後將詳細了解RDD。
有向無環圖是一種有限的直接圖,它對資料執行一系列計算。每個節點都是RDD分割區,邊緣是資料頂部的轉換。
下面來了解Spark架構。
驅動程式是一個執行應用程式,由main()
函式並建立SparkContext
物件的進程。SparkContext
的目的是協調spark應用程式,作為叢集上的獨立進程集執行。
要在群集上執行,SparkContext
將連線到不同型別的群集管理器,然後執行以下任務:
SparkContext
的JAR或Python檔案來定義。SparkContext
將任務傳送給執行程式以執行。叢集管理器的作用是跨應用程式分配資源。Spark能夠在大量叢集上執行。
它由各種型別的叢集管理器組成,例如:Hadoop YARN,Apache Mesos和Standalone Scheduler。
這裡,獨立排程程式是一個獨立的Spark叢集管理器,便於在一組空機器上安裝Spark。