您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“Spark中的RDD核心操作有哪些”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
Q1:Spark中的RDD到底是什么?
RDD是Spark的核心抽象,可以把RDD看做“分布式函數(shù)編程語言”。
RDD有以下核心特征:
A list of partitions
A function for computing each split
A list of dependencies on other RDDs
Optionally, a Partitioner for key-value RDDs (e.g. to say that the RDD is hash-partitioned)
Optionally, a list of preferred locations to compute each split on (e.g. block locations for an HDFS file)
RDD中有兩種核心操作:Transformation和Action,Transformation時(shí)只會(huì)記錄對(duì)數(shù)據(jù)操作的元數(shù)據(jù),Action時(shí)會(huì)對(duì)數(shù)據(jù)進(jìn)行計(jì)算并產(chǎn)出結(jié)果。
Q2:Checkpoint和persist是什么類型的RDD呢?
RDD的Operation分為兩類,transformation和action,其中transformation產(chǎn)生新的RDD,action產(chǎn)生新的數(shù)據(jù)。作為DAG的lineage對(duì)transformation進(jìn)行存儲(chǔ),當(dāng)action時(shí)執(zhí)行l(wèi)ineage并產(chǎn)生數(shù)據(jù)。
checkpoint和persist是RDD比較特殊的兩個(gè)操作, persist持久化RDD, checkpoint持久化RDD同時(shí)切斷歷史lineage。
Persist和checkpoint有違immutability的操作,它們實(shí)際上修改RDD meta info中的storage level和lineage,并返回修改過的RDD對(duì)象自身而非新的RDD對(duì)象.
Q3:Spark在運(yùn)行的時(shí)候Driver程序運(yùn)行在什么地方?
在Standalone的模式下Driver運(yùn)行在提交Spark Application的客戶端;
客戶端能夠提交Spark程序是應(yīng)為安裝了Spark;
Driver要負(fù)責(zé)程序的運(yùn)行;
Q4:理解DAGScheduler對(duì)DAG Stage劃分的訣竅是什么?
一般而言出現(xiàn)從外部讀取數(shù)據(jù)、進(jìn)行Shuffle操作和寫數(shù)據(jù)的時(shí)候會(huì)成為Stage劃分的邊界;
Stage內(nèi)部的操作是Pipeline的,可以極大的提高程序運(yùn)行效率;
Shuffle是兩個(gè)Stage的劃分點(diǎn);
Q5:如何理解Narrow Dependencies和Wide Dependencies?
Narrow Dependencies和Wide Dependencies構(gòu)成了Spark Lineage;
Narrow Dependencies:例如map、filter、union、join with inputs co-partitioned;
Wide Dependencies:例如groupByKey、join with inputs not co-partitioned;
判斷是Narrow Dependencies的關(guān)鍵就是左側(cè)RDD Partition操作產(chǎn)出的結(jié)果是唯一右側(cè)的RDD Partition;
判斷是Wide Dependencies的關(guān)鍵就是左側(cè)RDD Partition操作產(chǎn)出的結(jié)果是至少兩個(gè)右側(cè)的RDD Partitions;
“Spark中的RDD核心操作有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。