溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Spark中的RDD核心操作有哪些

發(fā)布時(shí)間:2021-12-16 14:36:24 來源:億速云 閱讀:163 作者:iii 欄目:云計(jì)算

本篇內(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í)用文章!

向AI問一下細(xì)節(jié)

免責(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)容。

AI