根據個人面試經歷總結
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....