Spark面試常見問題

2022-06-27 04:15:13 字數 1801 閱讀 9260

根據個人面試經歷總結

1、簡單說一下hadoop和spark的shuffle相同和差異?

聯絡:主要的區別:

乙個落盤,乙個不落盤,spark就是為了解決mr落盤導致效率低下的問題而產生的,原理還是mr的原理,只是shuffle放在記憶體中計算了,所以效率提高很多。

2、spark有哪些運算元,列舉幾個你熟悉的?

轉換(transformation)運算元 :常見的有map 、flatmap、filter、groupbykey、reducebykey、union

flatmap與map區別在於map為「對映」,而flatmap「先對映,後扁平化」,map對每一次(func)都產生乙個元素,返回乙個物件,而flatmap多一步就是將所有物件合併為乙個物件。

行動(action)運算元:reduce、collect、count、foreach

3、groupbykey與reducebykey的區別

reducebykey將結果傳送給reducer之前在本地進行merge,這樣資料量會大幅度減小,從而減小傳輸,保證reduce端能夠更快的進行結果計算。所以reducebykey更適合作用在較大的資料集上

4、spark中的rdd是什麼,有哪些特性?

rdd彈性分布式資料集、分割槽記錄集合;特性有:唯讀、分布式、彈性、基於記憶體

5、談談spark中的寬窄依賴? spark rdd 如何區分寬依賴和窄依賴?

6、spark中的資料傾斜的現象、原因、後果?

7、如何解決spark中的資料傾斜問題?

1.首先從源頭選擇可以split的資料來源,從源頭避免傾斜

2.shuffle過程中,增加並行度,減少shuffle 在map-side進行資料合併,避免reduce fetch資料傾斜

3.sample取樣將傾斜的資料,特殊處理,這個方法可以適用於所有的資料傾斜問題

通過sample取樣,得到傾斜的key,然後進行特殊處理,將傾斜的key通過加鹽的方式,增大並行處理,之後將結果再合併,進而減少單個task的壓力

4.另外,就是我們盡量使用spark-sql,spark-sql裡面優化器提供很多基本cro和cbo的優化策略,不僅幫我們從源頭幫我們去除無關的資料減少計算資料量,其次在計算過程中會根據我們的table 的資料量,自動幫我們計算合適task partition數量,和選擇合適join策略,從而提公升計算效能,也避免shuffle 資料傾斜

8、spark on yarn中executor如何管理記憶體分配?

spark的excutor的container記憶體有兩大部分組成:堆外記憶體和excutor記憶體。

其中堆外記憶體

由spark.yarn.executor.memoryoverhead引數設定。  主要用於jvm自身的開銷。預設:max(executormemory*0.10,384mb)

這裡384 的含義為,jvm自身開銷,最小的需求是384mb

excutor記憶體

由spark.executor.memory引數設定,分為兩部分。

execution:shuffle、排序、聚合等用於計算的記憶體

storage:用於集群中緩衝和傳播內部資料的記憶體(cache、廣播變數)

具體見這篇文章

9、spark driver的功能是什麼?

driver驅動器

乙個spark作業執行時包括乙個driver程序,也是作業的主程序,具有main函式,並且有sparkcontext的例項,是程式的人口點;

功能:負責向集群申請資源,向master註冊資訊,負責了作業的排程,負責作業的解析、生成stage並排程task到executor(執行器)上。包括dagscheduler,taskscheduler。

Spark的常見問題

最近在研究spark,遇到問題就記錄一下,版本號是spark 0.9.0 incubating bin hadoop1 1.使用sbt assembly編譯之後使用run example出現如下錯誤 bin run example line 47 home cookies downloads spa...

面試常見問題

面試時,有幾個問題是公司面試人員常常會提出的,針對這些問題好好準備,在面試時也就不會啞口無言,無言以對了,下面就面試十大必考題做出分析,也許對hr經理也是乙個 1 為什麼想進本公司?這通常是面試官最先問到的問題。此時面試官就開始評斷錄用與否了,建議大家先判斷自己去應徵的工作性質,是專業能力導向呢,或...

面試常見問題

1.如果我們不能提供你所要求的薪水,你還願意來我們公司嗎?你的期望薪水是多少?你想得到的薪水是多 少?如果達不到你的要求,怎麼辦?答 我認為工作最重要的是合作開心,薪酬是其次的,不過我原來的月薪是 元,如果跳槽的話就希望 自己能有點進步,如果不是讓您太為難的話,您看這個工資是不是可以有一點提高?2....