亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創

大數據處理利器Spark介紹

2023-05-25 03:32:14
15
0

簡介

    ; Spark已經形成了一套(tao)完整(zheng)的(de)生(sheng)態體(ti)系,包括(kuo) Spark提(ti)供(gong)的(de)內存(cun)計算框架、SQL即席(xi)查(cha)詢(Spark  SQL)、流式(shi)(shi)計算(Spark  Streaming)、機器(qi)(qi)學習(MLlib)、圖計算(Graph X)等,Spark可以(yi)部(bu)署在yarn資源管理(li)器(qi)(qi)上,提(ti)供(gong)一站式(shi)(shi)大(da)數(shu)據(ju)解決方案,可以(yi)同時(shi)支(zhi)持批處理(li)、流處理(li)、交互式(shi)(shi)查(cha)詢。相比于老一代的(de)大(da)數(shu)據(ju)處理(li)工(gong)具MapReduce具備(bei)以(yi)下優勢:

  • Spark提供更多種數據集操作類型,編程模型比MapReduce更加靈活;
  • Spark提供內存計算,將計算結果直接放在內存中,減少了迭代計算的IO開銷,有更高效的運算效率。
  • Spark基于DAG的任務調度執行機制,迭代效率更高;在實際開發中MapReduce需要編寫很多底層代碼,不夠高效,Spark提供了多種高層次、簡潔的API實現相同功能的應用程序,實現代碼量比MapReduce少很多。

 

常見的Spark概念

  • RDD:是Resilient Distributed Dataset(彈性分布式數據集)的簡稱,是分布式內存的一個抽象概念,提供了一種高度受限的共享內存模型 ;
  • DAG:是Directed Acyclic Graph(有向無環圖)的簡稱,反映RDD之間的依賴關系 ;
  • Executor:是運行在工作節點(WorkerNode)的一個進程,負責運行Task ;
  • 應用(Application):用戶編寫的Spark應用程序;
  • 任務( Task ):運行在Executor上的工作單元 ;
  • 作業( Job ):一個作業包含多個RDD及作用于相應RDD上的各種操作;
  • 階段( Stage ):是作業的基本調度單位,一個作業會分為多組任務,每組任務被稱為階段,或者也被稱為任務集合,代表了一組關聯的、相互之間沒有Shuffle依賴關系的任務組成的任務集;

   以上(shang)概念(nian)之間的聯系如下:

    Spark運(yun)行(xing)架構包括集群(qun)資(zi)源管理器(Cluster Manager)、運(yun)行(xing)作(zuo)業任務(wu)的(de)工(gong)作(zuo)節(jie)點(dian)(Worker Node)、每個(ge)應用的(de)任務(wu)控制節(jie)點(dian)(Driver)和每個(ge)工(gong)作(zuo)節(jie)點(dian)上負(fu)責具體任務(wu)的(de)執行(xing)進程(Executor),資(zi)源管理器可以自帶或使(shi)用Mesos/YARN。

    一個(ge)(ge)應用由(you)一個(ge)(ge)Driver和若干個(ge)(ge)作業構成,一個(ge)(ge)作業由(you)多個(ge)(ge)階(jie)段(duan)構成,一個(ge)(ge)階(jie)段(duan)由(you)多個(ge)(ge)沒有Shuffle關系的任務(wu)組(zu)成;

    當執行一個應用時,Driver會向(xiang)集群管理器(qi)申請資(zi)源,啟動Executor,并向(xiang)Executor發送應用程(cheng)序代碼和(he)文件,然(ran)后在(zai)Executor上執行任務,運行結束(shu)后,執行結果會返(fan)回給Driver,或者寫到HDFS或者其他數據(ju)庫(ku)中。

Spark運行流程

    SparkContext對象代表了和一個集群的連接:

  1. 首先為應用構建起基本的運行環境,即由Driver創建一個SparkContext,進行資源的申請、任務的分配和監控;
  2. 資源管理器為Executor分配資源,并啟動Executor進程;
  3. SparkContext根據RDD的依賴關系構建DAG圖,DAG圖提交給DAGScheduler解析成Stage,然后把一個個TaskSet提交給底層調度器TaskScheduler處理;Executor向SparkContext申請Task,Task Scheduler將Task發放給Executor運行,并提供應用程序代碼;
  4. Task在Executor上運行,把執行結果反饋給TaskScheduler,然后反饋給DAGScheduler,運行完畢后寫入數據并釋放所有資源;
0條評論
0 / 1000
w****n
3文章(zhang)數
0粉絲數
w****n
3 文章 | 0 粉絲
w****n
3文章數
0粉絲(si)數
w****n
3 文(wen)章 | 0 粉絲
原創

大數據處理利器Spark介紹

2023-05-25 03:32:14
15
0

簡介

     Spark已經形成了一(yi)套完整的生態體系,包括(kuo) Spark提供的內存計(ji)算框架、SQL即席查詢(Spark  SQL)、流(liu)式(shi)計(ji)算(Spark  Streaming)、機(ji)器(qi)學習(MLlib)、圖(tu)計(ji)算(Graph X)等,Spark可(ke)以部署在yarn資源(yuan)管理(li)器(qi)上,提供一(yi)站式(shi)大(da)數(shu)據解(jie)決方案,可(ke)以同時支持批(pi)處(chu)(chu)(chu)理(li)、流(liu)處(chu)(chu)(chu)理(li)、交(jiao)互式(shi)查詢。相比于老一(yi)代的大(da)數(shu)據處(chu)(chu)(chu)理(li)工具(ju)MapReduce具(ju)備(bei)以下優勢(shi):

  • Spark提供更多種數據集操作類型,編程模型比MapReduce更加靈活;
  • Spark提供內存計算,將計算結果直接放在內存中,減少了迭代計算的IO開銷,有更高效的運算效率。
  • Spark基于DAG的任務調度執行機制,迭代效率更高;在實際開發中MapReduce需要編寫很多底層代碼,不夠高效,Spark提供了多種高層次、簡潔的API實現相同功能的應用程序,實現代碼量比MapReduce少很多。

 

常見的Spark概念

  • RDD:是Resilient Distributed Dataset(彈性分布式數據集)的簡稱,是分布式內存的一個抽象概念,提供了一種高度受限的共享內存模型 ;
  • DAG:是Directed Acyclic Graph(有向無環圖)的簡稱,反映RDD之間的依賴關系 ;
  • Executor:是運行在工作節點(WorkerNode)的一個進程,負責運行Task ;
  • 應用(Application):用戶編寫的Spark應用程序;
  • 任務( Task ):運行在Executor上的工作單元 ;
  • 作業( Job ):一個作業包含多個RDD及作用于相應RDD上的各種操作;
  • 階段( Stage ):是作業的基本調度單位,一個作業會分為多組任務,每組任務被稱為階段,或者也被稱為任務集合,代表了一組關聯的、相互之間沒有Shuffle依賴關系的任務組成的任務集;

   以上概(gai)念之間的聯系如下(xia):

    Spark運(yun)行(xing)架(jia)構包括集群(qun)資源(yuan)管理(li)器(Cluster Manager)、運(yun)行(xing)作(zuo)業任(ren)務的(de)工作(zuo)節(jie)(jie)點(dian)(dian)(Worker Node)、每個應用(yong)的(de)任(ren)務控制節(jie)(jie)點(dian)(dian)(Driver)和每個工作(zuo)節(jie)(jie)點(dian)(dian)上(shang)負責具(ju)體任(ren)務的(de)執行(xing)進程(Executor),資源(yuan)管理(li)器可以自帶或(huo)使(shi)用(yong)Mesos/YARN。

    一(yi)(yi)個(ge)(ge)應用由一(yi)(yi)個(ge)(ge)Driver和若干個(ge)(ge)作業構成(cheng),一(yi)(yi)個(ge)(ge)作業由多個(ge)(ge)階段構成(cheng),一(yi)(yi)個(ge)(ge)階段由多個(ge)(ge)沒(mei)有(you)Shuffle關系的任務組成(cheng);

    當執(zhi)(zhi)行一(yi)個應(ying)用時,Driver會(hui)向(xiang)集群管理器申請資源,啟動Executor,并向(xiang)Executor發送應(ying)用程序(xu)代(dai)碼(ma)和文件(jian),然后在Executor上執(zhi)(zhi)行任務(wu),運行結(jie)束后,執(zhi)(zhi)行結(jie)果會(hui)返回(hui)給Driver,或者寫到(dao)HDFS或者其(qi)他數據庫中。

Spark運行流程

    SparkContext對象代表了和一個集(ji)群的(de)連接:

  1. 首先為應用構建起基本的運行環境,即由Driver創建一個SparkContext,進行資源的申請、任務的分配和監控;
  2. 資源管理器為Executor分配資源,并啟動Executor進程;
  3. SparkContext根據RDD的依賴關系構建DAG圖,DAG圖提交給DAGScheduler解析成Stage,然后把一個個TaskSet提交給底層調度器TaskScheduler處理;Executor向SparkContext申請Task,Task Scheduler將Task發放給Executor運行,并提供應用程序代碼;
  4. Task在Executor上運行,把執行結果反饋給TaskScheduler,然后反饋給DAGScheduler,運行完畢后寫入數據并釋放所有資源;
文章來自個人專欄
文章 | 訂閱
0條評論
0 / 1000
請輸入你的評論
0
0