Spark精华问答 | RDD的核心概念是什么?
Hadoop再火,火得過Spark嗎?今天我們繼續(xù)關(guān)于Spark的精華問答吧。
1
Q:RDD的核心概念是什么?
A:Client:客戶端進(jìn)程,負(fù)責(zé)提交作業(yè)到Master。
Master:Standalone模式中主控節(jié)點(diǎn),負(fù)責(zé)接收Client提交的作業(yè),管理Worker,并命令Worker啟動分配Driver的資源和啟動Executor的資源。
Worker:Standalone模式中slave節(jié)點(diǎn)上的守護(hù)進(jìn)程,負(fù)責(zé)管理本節(jié)點(diǎn)的資源,定期向Master匯報(bào)心跳,接收Master的命令,啟動Driver和Executor。
Driver: 一個(gè)Spark作業(yè)運(yùn)行時(shí)包括一個(gè)Driver進(jìn)程,也是作業(yè)的主進(jìn)程,負(fù)責(zé)作業(yè)的解析、生成Stage并調(diào)度Task到Executor上。包括DAGScheduler,TaskScheduler。
Executor:即真正執(zhí)行作業(yè)的地方,一個(gè)集群一般包含多個(gè)Executor,每個(gè)Executor接收Driver的命令Launch Task,一個(gè)Executor可以執(zhí)行一到多個(gè)Task。
Q:RDD有哪些常見術(shù)語?
A:DAGScheduler: 實(shí)現(xiàn)將Spark作業(yè)分解成一到多個(gè)Stage,每個(gè)Stage根據(jù)RDD的Partition個(gè)數(shù)決定Task的個(gè)數(shù),然后生成相應(yīng)的Task set放到TaskScheduler中。
TaskScheduler:實(shí)現(xiàn)Task分配到Executor上執(zhí)行。
Task:運(yùn)行在Executor上的工作單元
Job:SparkContext提交的具體Action操作,常和Action對應(yīng)
Stage:每個(gè)Job會被拆分很多組任務(wù)(task),每組任務(wù)被稱為Stage,也稱TaskSet
RDD:Resilient Distributed Datasets的簡稱,彈性分布式數(shù)據(jù)集,是Spark最核心的模塊和類
Transformation/Action:SparkAPI的兩種類型;Transformation返回值還是一個(gè)RDD,Action返回值不少一個(gè)RDD,而是一個(gè)Scala的集合;所有的Transformation都是采用的懶策略,如果只是將Transformation提交是不會執(zhí)行計(jì)算的,計(jì)算只有在Action被提交時(shí)才會被觸發(fā)。
DataFrame:帶有Schema信息的RDD,主要是對結(jié)構(gòu)化數(shù)據(jù)的高度抽象。
DataSet:結(jié)合了DataFrame和RDD兩者的優(yōu)勢,既允許用戶很方便的操作領(lǐng)域?qū)ο?#xff0c;又具有SQL執(zhí)行引擎的高效表現(xiàn)。
Q:RDD提供了哪些操作?
A:RDD提供了兩種類型的操作:
transformation和action
1,transformation是得到一個(gè)新的RDD,方式很多,比如從數(shù)據(jù)源生成一個(gè)新的RDD,從RDD生成一個(gè)新的RDD
2,action是得到一個(gè)值,或者一個(gè)結(jié)果(直接將RDD cache到內(nèi)存中)
3,所有的transformation都是采用的懶策略,就是如果只是將transformation提交是不會執(zhí)行計(jì)算的,計(jì)算只有在action被提交的時(shí)候才被觸發(fā)。
Q:RDD中關(guān)于轉(zhuǎn)換(transformation)與動作(action)有什么區(qū)別?
A:transformation會生成新的RDD,而后者只是將RDD上某項(xiàng)操作的結(jié)果返回給程序,而不會生成新的RDD;無論執(zhí)行了多少次transformation操作,RDD都不會真正執(zhí)行運(yùn)算(記錄lineage),只有當(dāng)action操作被執(zhí)行時(shí),運(yùn)算才會觸發(fā)。
Q:RDD 與 DSM的最大不同是什么?
A:RDD只能通過粗粒度轉(zhuǎn)換來創(chuàng)建,而DSM則允許對每個(gè)內(nèi)存位置上數(shù)據(jù)的讀和寫。在這種定義下,DSM不僅包括了傳統(tǒng)的共享內(nèi)存系統(tǒng),也包括了像提供了共享 DHT(distributed hash table) 的 Piccolo 以及分布式數(shù)據(jù)庫等。
小伙伴們沖鴨,后臺留言區(qū)等著你!
關(guān)于Spark,今天你學(xué)到了什么?還有哪些不懂的?除此還對哪些話題感興趣?快來留言區(qū)打卡啦!留言方式:打開第XX天,答:……
同時(shí)歡迎大家搜集更多問題,投稿給我們!風(fēng)里雨里留言區(qū)里等你~
福利
1、掃描添加小編微信,備注“姓名+公司職位”,加入【云計(jì)算學(xué)習(xí)交流群】,和志同道合的朋友們共同打卡學(xué)習(xí)!
2、公眾號后臺回復(fù):白皮書,獲取IDC最新數(shù)據(jù)白皮書整理資料!
推薦閱讀:
技術(shù)頭條
2019年技術(shù)盤點(diǎn)微服務(wù)篇(二):青云直上云霄?|?程序員硬核評測
“入職?6?年,新人工資高我?2?千”:老板不加錢,不是嫌你老
從沉迷游戲到沉迷編程,16?歲賺?20?萬美元!
南大和中大“合體”拯救手殘黨:基于GAN的PI-REC重構(gòu)網(wǎng)絡(luò),“老婆”畫作有救了?|?技術(shù)頭條
救救中國?996?程序員!GitHub?近?230,000?Star、Python?之父伸張正義!
一個(gè)月修復(fù)20個(gè)漏洞獲23675美元賞金, 原來是黑客隊(duì)伍里出了無間道
真香,朕在看了!
總結(jié)
以上是生活随笔為你收集整理的Spark精华问答 | RDD的核心概念是什么?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 辞工多久可以取公积金 职工提取公积金申请
- 下一篇: Boost:异步操作,涉及重新打包多个操