日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

学习笔记Spark(三)—— Spark架构及原理(spark架构、spark RDD)

發(fā)布時(shí)間:2025/3/21 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 学习笔记Spark(三)—— Spark架构及原理(spark架构、spark RDD) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、Spark架構(gòu)

1.1、基本組件

Cluster Manager
在standalone模式中即為Master主節(jié)點(diǎn),控制整個(gè)集群,監(jiān)控worker。在YARN模式中為資源管理器。

Worker
從節(jié)點(diǎn),負(fù)責(zé)控制計(jì)算節(jié)點(diǎn),啟動(dòng)Executor或者Driver。在YARN模式中為NodeManager,負(fù)責(zé)計(jì)算節(jié)點(diǎn)的控制。

Driver
運(yùn)行Application的main()函數(shù)并創(chuàng)建SparkContext。

Executor
執(zhí)行器,在worker node上執(zhí)行任務(wù)的組件、用于啟動(dòng)線程池運(yùn)行任務(wù)。每個(gè)Application擁有獨(dú)立的一組Executor。

SparkContext
整個(gè)應(yīng)用的上下文,控制應(yīng)用的生命周期,主要包括:
RDD Objects(RDD DAG):構(gòu)建DAG圖;
DAG Scheduler:根據(jù)作業(yè)(task)構(gòu)建基于Stage的DAG,并提交Stage給TaskSchedule;
TaskScheduler:將任務(wù)(task)分發(fā)給Executor執(zhí)行。


1.2、Standalone模式運(yùn)行流程

Client:客戶端,負(fù)責(zé)提交Application應(yīng)用程序
Application:用戶編寫的Spark應(yīng)用程序,包含一個(gè)Driver功能的代碼
Driver:運(yùn)行Application代碼里的main函數(shù)并創(chuàng)建SparkContext
SparkContext:應(yīng)用上下文,控制整個(gè)生命周期。負(fù)責(zé)和Master通信,進(jìn)行資源申請(qǐng)、分配任務(wù)等。

1、SparkContext向Master注冊(cè)并申請(qǐng)資源
2、Master接收到SparkContext的資源申請(qǐng)要求,根據(jù)Worker的心跳周期內(nèi)的報(bào)告信息決定在哪個(gè)Worker上分配資源
3、Worker獲取到資源后,啟動(dòng)Executor,Executor啟動(dòng)后向SparkContext注冊(cè)并申請(qǐng)分配任務(wù)
4、SparkContext接收到Executor的任務(wù)申請(qǐng)后,SparkContext將Application代碼發(fā)送給Executor并自身解析Application代碼構(gòu)建RDD DAG圖,DAGScheduler將DAG劃分成一個(gè)或多個(gè)Stage,Stage根據(jù)Partition個(gè)數(shù)分成一個(gè)多個(gè)Task并形成TaskSet同時(shí)發(fā)送給TaskScheduler。TaskScheduler將Task分配到相應(yīng)的Worker,最后提交給Executor執(zhí)行。
5、Executor接收到Task之后運(yùn)行Task并SparkContext匯報(bào)任務(wù)狀態(tài)和進(jìn)度,直到Task運(yùn)行完成
所有Task運(yùn)行完成后,SparkContext向Master注銷,釋放資源


1.3、Spark on YARN

1.3.1、yarn-cluster運(yùn)行流程

在集群模式下,Driver運(yùn)行在Application Master上,Application Master進(jìn)程同時(shí)負(fù)責(zé)驅(qū)動(dòng)Application和從YARN中申請(qǐng)資源,該進(jìn)程運(yùn)行在YARN container內(nèi),所以啟動(dòng)Application Master的Client可以立即關(guān)閉而不必持續(xù)到Application的聲明周期。圖 1?18是YARN集群模式的作業(yè)運(yùn)行流程,流程描述如下:

  • 客戶端生成作業(yè)信息提交給ResourceManager。
  • ResourceManager在某一個(gè)NodeManager(由YARN決定)啟動(dòng)container并將Application Master分配給該NodeManager。
  • NodeManager接收到ResourceManager的分配,啟動(dòng)Application Master并初始化作業(yè),此時(shí)NodeManager就稱為Driver。
  • Application向ResourceManager申請(qǐng)資源,分配資源同時(shí)通知其他NodeManager啟動(dòng)相應(yīng)的Executor。
  • Executor向NodeManager上的Application Master注冊(cè)匯報(bào)并完成相應(yīng)的任務(wù)。

1.3.2、yarn-client運(yùn)行流程

YARN客戶端模式的作業(yè)運(yùn)行流程。Application Master僅僅從YARN中申請(qǐng)資源給Executor,之后Client會(huì)跟container通信進(jìn)行作業(yè)的調(diào)度。YARN-Client模式的作業(yè)運(yùn)行流程描述如下:

  • 客戶端生成作業(yè)信息提交給ResourceManager。
  • ResourceManager在本地NodeManager啟動(dòng)Container并將Application Master分配給該NodeManager。
  • NodeManager接收到ResourceManager的分配,啟動(dòng)Application Master并初始化作業(yè),此時(shí)這個(gè)NodeManager就稱為Driver。
  • Application向ResourceManager申請(qǐng)資源,分配資源同時(shí)通知其他NodeManager啟動(dòng)相應(yīng)的Executor。
  • Executor向本地啟動(dòng)的Application Master注冊(cè)匯報(bào)并完成相應(yīng)的任務(wù)。

二、Spark RDD

2.1、RDD簡(jiǎn)介

RDD(Resilient Distributed Datasets彈性分布式數(shù)據(jù)集),可以簡(jiǎn)單的把RDD理解成一個(gè)提供了許多操作接口的數(shù)據(jù)集合,和一般數(shù)據(jù)集不同的是,其實(shí)際數(shù)據(jù)分布存儲(chǔ)于一批機(jī)器中(內(nèi)存或磁盤中)

RDD最重要的特性就是,提供了容錯(cuò)性,可以自動(dòng)從節(jié)點(diǎn)失敗中恢復(fù)過來。即如果某個(gè)節(jié)點(diǎn)上的RDD partition,因?yàn)楣?jié)點(diǎn)故障,導(dǎo)致數(shù)據(jù)丟了,那么RDD會(huì)自動(dòng)通過自己的數(shù)據(jù)來源重新計(jì)算該partition。

RDD的數(shù)據(jù)默認(rèn)情況下存放在內(nèi)存中的,但是在內(nèi)存資源不足時(shí),Spark會(huì)自動(dòng)將RDD數(shù)據(jù)寫入磁盤。(彈性)


2.2、RDD 特點(diǎn)

  • 它是集群節(jié)點(diǎn)上的不可改變的已分區(qū)的集合對(duì)象
  • 通過并行轉(zhuǎn)換的方式來創(chuàng)建如(map、filter、join等);
  • 失敗自動(dòng)重建;
  • 可以控制存儲(chǔ)級(jí)別(內(nèi)存、磁盤等)來進(jìn)行重用;
  • 必須是可序列化的;在內(nèi)存不足時(shí)可自動(dòng)降級(jí)為磁盤存儲(chǔ),把RDD存儲(chǔ)于磁盤上,這時(shí)性能有大的下降但不會(huì)差于現(xiàn)在的MapReduce;
  • 對(duì)于丟失部分?jǐn)?shù)據(jù)分區(qū)只需要根據(jù)它的lineage就可重新計(jì)算出來,而不需要做特定的checkpoint;

注意:
① RDD一旦創(chuàng)建就不可更改
② 重建不是從最開始的點(diǎn)來重建的,可以是上一步開始重建


2.3、算子

(了解)
轉(zhuǎn)換(Transformations)(如:map、Filter、groupby、join等),Transformations操作是Lazy的,也就是說從一個(gè)RDD轉(zhuǎn)換生成另一個(gè)RDD的操作不是馬上執(zhí)行,spark在遇到Transformations操作時(shí)只會(huì)記錄需要這樣的操作,并不會(huì)去執(zhí)行,需要等到有Actions操作的時(shí)候才會(huì)真正啟動(dòng)計(jì)算過程進(jìn)行計(jì)算
操作(Actions)(如:count、collect、save等),Actions操作會(huì)返回結(jié)果或把RDD數(shù)據(jù)寫到存儲(chǔ)系統(tǒng)中。Actions是觸發(fā)Spark啟動(dòng)計(jì)劃的動(dòng)因。


2.4、寬依賴與窄依賴

窄依賴:表現(xiàn)為一個(gè)父RDD的分區(qū)對(duì)應(yīng)于一個(gè)子RDD的分區(qū)或者多個(gè)父RDD的分區(qū)對(duì)應(yīng)于一個(gè)子RDD的分區(qū)。

寬依賴:表現(xiàn)為存在一個(gè)父RDD的一個(gè)分區(qū)對(duì)應(yīng)一個(gè)子RDD的多個(gè)分區(qū)。

圖中的每個(gè)小方格代表一個(gè)分區(qū),而一個(gè)大方格(比如包含3個(gè)或2個(gè)小方格的大方格)代表一個(gè)RDD,豎線左邊顯示的是窄依賴,而右邊是寬依賴。

要知道寬窄依賴的區(qū)別,那么先要了解父RDD(Parent RDD)和子RDD(Child RDD)。在上圖中,“map,filter”左上面的是父RDD,而右上面的是子RDD。“union”左上面的兩個(gè)RDD都是其右上面的RDD的父RDD,所以它是有兩個(gè)父RDD的。

總結(jié)

以上是生活随笔為你收集整理的学习笔记Spark(三)—— Spark架构及原理(spark架构、spark RDD)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 在线欧美 | 精东影业一区二区三区 | 黑人精品欧美一区二区蜜桃 | 天天干在线观看 | 一区二区日韩欧美 | 欧美黄色a级大片 | xxxx久久 | 日韩性网 | 国产综合精品一区二区三区 | 精品麻豆视频 | 国产精品久线在线观看 | 99热日本| 嫩草视频在线观看视频 | 伊人成人动漫 | 国产21区 | 天天插天天操天天干 | 国产精品久久亚洲7777 | 自拍色图 | 欧美裸体xxxx极品少妇 | 精品影视 | 一区二区三区入口 | 一区二区精品视频在线观看 | 欧美精品日韩在线 | 狠狠成人 | 国产日韩视频 | 网站av在线| 免费无码毛片一区二区app | 国产精品一区电影 | 超碰人人干人人 | 超碰2023| 色呦呦官网 | 国产综合日韩 | 亚洲男女 | 亚洲Av无码成人精品区伊人 | 青青草伊人 | 黄色网占| 91avcom| 日本成人在线不卡 | 精品一区在线 | 久久婷婷热 | 日本免费专区 | 伊人精品视频在线观看 | 日韩精品一级 | 国产成人无码久久久精品天美传媒 | 中文区中文字幕免费看 | 黄色片网站在线播放 | 国产思思99re99在线观看 | 黄色一级片在线免费观看 | 丰满的女人性猛交 | 欧美极品jizzhd欧美 | 国产中出视频 | 91精品国产色综合久久不卡蜜臀 | 天天摸天天操天天射 | 日穴视频 | 成人久久久精品国产乱码一区二区 | 国产成人主播 | 色姑娘久 | 97视频在线观看免费高清完整版在线观看 | 疯狂做爰高潮videossex | 好了av在线| 亚洲成人精品久久 | 超碰97色| 亚洲成色网 | 成人在线免费观看网站 | 成人免费毛片糖心 | 久久久久久国产精品免费免费 | 国产免费一区二区 | 8x8x成人 | 91美女高潮出水 | 欧美一区二区三区大屁股撅起来 | 桃色成人网| 成人午夜福利视频 | 成人免费xxxxx在线观看 | 在线看v片| 亚洲在线一区二区 | 丝瓜av| 韩国bj大尺度vip福利网站 | 日韩精品第一 | 成人快手免费看片 | 亚洲人一区二区三区 | av看片在线 | 婷婷一区二区三区四区 | 亚洲日本在线观看 | 精品一区二区三区免费毛片爱 | 91av国产在线 | 免费黄色的网站 | 色版视频在线观看 | 国产欧美精品 | 奇米影视7777 | 国产91一区二区三区在线精品 | 中文幕无线码中文字夫妻 | 人妻一区在线 | 美女扒开腿让男生捅 | 久久免费黄色 | 天天鲁 | 性喷潮久久久久久久久 | 人妻一区二区三区四区五区 | 欧美成a | 久草免费在线 |