大數據開發崗面試複習30天沖刺 - 日積月累,每日五題【Day19】——Spark6

manor的大數據奮鬥之路 2021-08-15 21:36:59 阅读数:527

本文一共[544]字,预计阅读时长:1分钟~
每日 day19 day spark6 spark

前言

大家好,我是程序員manor。作為一名大數據專業學生、愛好者,深知面試重要性,很多學生已經進入暑假模式,暑假也不能懈怠,正值金九銀十的秋招
接下來我准備用30天時間,基於大數據開發崗面試中的高頻面試題,以每日5題的形式,帶你過一遍常見面試題及恰如其分的解答。

相信只要一路走來,日積月累,我們終會在最高處見。
以古人的話共勉:道阻且長,行則將至;行而不輟,未來可期!

在這裏插入圖片描述

本欄目大數據開發崗高頻面試題主要出自大數據技術專欄的各個小專欄,由於個別筆記上傳太早,排版雜亂,後面會進行原文美化、增加。



不要往下滑了,
默默想5min,
看看這5道面試題你都會嗎?

面試題 01、RDD機制?
面試題02、什麼是RDD寬依賴和窄依賴?
面試題 03、cache和pesist的區別?
面試題04、cache後面能不能接其他算子,它是不是action操作?
面試題05、reduceByKey是不是action?

在這裏插入圖片描述

在這裏插入圖片描述

以下答案僅供參考:

面試題 01、RDD機制?

rdd分布式彈性數據集,簡單的理解成一種數據結構,是spark框架上的通用貨幣。 所有算子都是基於rdd來執行的,不同的場景會有不同的rdd實現類, 但是都可以進行互相轉換。rdd執行過程中會形成dag圖,然後形成lineage保證容錯性等。從物理的角度來看rdd存儲的是block和node之間的映射。
1)粗粒度:啟動時就分配好資源, 程序啟動,後續具體使用就使用分配好的資源,不需要再分配資源;優點:作業特別多時,資源複用率高,適合粗粒度;缺點:容易資源浪費,假如一個job有1000個task,完成了999個,還有一個沒完成,那麼使用粗粒度,999個資源就會閑置在那裏,資源浪費。
2)細粒度分配:用資源的時候分配,用完了就立即回收資源,啟動會麻煩一點,啟動一次分配一次,會比較麻煩。

面試題02、什麼是RDD寬依賴和窄依賴?

RDD和它依賴的parent RDD(s)的關系有兩種不同的類型,即窄依賴(narrow dependency)和寬依賴(wide dependency) 1)窄依賴指的是每一個parent RDD的Partition最多被子RDD的一個Partition使用 2)寬依賴指的是多個子RDD的Partition會依賴同一個parent RDD的Partition

面試題03、cache和pesist的區別?

cache和persist都是用於將一個RDD進行緩存的,這樣在之後使用的過程中就不需要重新計算了,可以大大節省程序運行時間
1) cache只有一個默認的緩存級別MEMORY_ONLY ,cache調用了persist,而persist可以根據情况設置其它的緩存級別;
2)executor執行的時候,默認60%做cache,40%做task操作,persist是最根本的函數,最底層的函數。

面試題04、 cache後面能不能接其他算子,它是不是action操作?

cache可以接其他算子,但是接了算子之後,起不到緩存應有的效果,因為會重新觸發cache。 cache不是action操作。

面試題05、reduceByKey是不是action?

不是,很多人都會以為是action,reduce rdd是action

總結

今天我們複習了面試中常考的Spark相關的五個問題,你做到心中有數了麼?
其實做這個專欄我也有私心,就是希望借助每天寫一篇面試題,督促自己學習,以免在面試期間尷尬!平時不流汗,面試多流淚!
對了,如果你的朋友也在准備面試,請將這個系列扔給他,
好了,今天就到這裏,學廢了的同學,記得在評論區留言:打卡。給同學們以激勵。
在這裏插入圖片描述

版权声明:本文为[manor的大數據奮鬥之路]所创,转载请带上原文链接,感谢。 https://gsmany.com/2021/08/20210815213646781b.html