當前位置:編程學習大全網 - 腳本源碼 - spark工作原理和介紹

spark工作原理和介紹

/p/34436165

/p/70424613

Spark 是專為大規模數據處理而設計的快速通用的計算引擎。是Hadoop MapReduce的通用並行框架,Spark,擁有Hadoop MapReduce所具有的優點;但不同於MapReduce的是——Job中間輸出結果可以保存在內存中,從而不再需要讀寫HDFS,因此Spark能更好地適用於數據挖掘與機器學習等需要叠代的MapReduce的算法。

1.RDD:是彈性分布式數據集(Resilient Distributed Dataset)的簡稱,是分布式內存的壹個抽象概念,提供了壹種高度受限的***享內存模型。

2.DAG:是Directed Acyclic Graph(有向無環圖)的簡稱,反映RDD之間的依賴關系。如果壹個有向圖無法從某個頂點出發經過若幹條邊回到該點,則這個圖是壹個有向無環圖(DAG圖)。

3.Driver Program:控制程序,負責為Application構建DAG圖。

4.Cluster Manager:集群資源管理中心,負責分配計算資源。

5.Worker Node:工作節點,負責完成具體計算。

6.Executor:是運行在工作節點(Worker Node)上的壹個進程,負責運行Task,並為應用程序存儲數據。

7.Application:用戶編寫的Spark應用程序,壹個Application包含多個Job。

8.Job:作業,壹個Job包含多個RDD及作用於相應RDD上的各種操作。

9.Stage:階段,是作業的基本調度單位,壹個作業會分為多組任務,每組任務被稱為“階段”。

10.Task:任務,運行在Executor上的工作單元,是Executor中的壹個線程。

1.構建Spark Application的運行環境,啟動SparkContext

2.SparkContext向資源管理器(可以是Standalone,Mesos,Yarn)申請運行Executor資源,並啟動StandaloneExecutorbackend,

3.Executor向SparkContext申請Task

4.SparkContext將應用程序分發給Executor

5.SparkContext構建成DAG圖,將DAG圖分解成Stage、將Taskset發送給Task Scheduler,最後由Task Scheduler將Task發送給Executor運行

6.Task在Executor上運行,運行完釋放所有資源

  • 上一篇:迪麗熱巴說夏天就要可愛壹點,並配照片!女生該如何拍出夏季清新照片?
  • 下一篇:剛買的電腦,需要做些什麽呢?
  • copyright 2024編程學習大全網