鎖屏面試題百日百刷-Spark篇(一)
鎖屏面試題百日百刷,每個工作日堅持更新面試題。鎖屏面試題app、小程序現(xiàn)已上線,官網(wǎng)地址:https://www.demosoftware.cn。已收錄了每日更新的面試題的所有內(nèi)容,還包含特色的解鎖屏幕復(fù)習(xí)面試題、每日編程題目郵件推送等功能。讓你在面試中先人一步!接下來的是今日的面試題:
1.闡述下對Spark的并行度理解
Spark作業(yè)中,各個stage的task的數(shù)量,代表Spark作業(yè)在各個階段stage的并行度。
分為資源并行度(物理并行度)和數(shù)據(jù)并行度(邏輯并行度)

如何設(shè)置Task數(shù)量:

2.如何設(shè)置Application的并行度

如何根據(jù)數(shù)據(jù)量(Task數(shù)目)配置資源

3.Spark有幾種部署方式?請分別簡要論述
1)Local:運行在一臺機器上,通常是練手或者測試環(huán)境。
2)Standalone:構(gòu)建一個基于Mster+Slaves的資源調(diào)度集群,Spark任務(wù)提交給Master運行。是Spark自身的一個調(diào)度系統(tǒng)。
3)Yarn: Spark客戶端直接連接Yarn,不需要額外構(gòu)建Spark集群。有yarn-client和yarn-cluster兩種模式,主要區(qū)別在于:Driver程序的運行節(jié)點。
4)Mesos:國內(nèi)大環(huán)境比較少用。
4.Spark提交作業(yè)參數(shù)(重點)
1)在提交任務(wù)時的幾個重要參數(shù)
executor-cores?—— 每個executor使用的內(nèi)核數(shù),默認(rèn)為1,官方建議2-5個,我們企業(yè)是4個
num-executors ——?啟動executors的數(shù)量,默認(rèn)為2
executor-memory —— executor內(nèi)存大小,默認(rèn)1G
driver-cores —— driver使用內(nèi)核數(shù),默認(rèn)為1
driver-memory —— driver內(nèi)存大小,默認(rèn)512M
2)邊給一個提交任務(wù)的樣式
spark-submit \
--master local[5] \
--driver-cores 2 \
--driver-memory 8g \
--executor-cores 4 \
--num-executors 10 \
--executor-memory 8g \
--class PackageName.ClassName XXXX.jar \
--name "Spark Job Name" \
InputPath \
OutputPath
5.為什么要用Yarn來部署Spark?
因為 Yarn 支持動態(tài)資源配置。Standalone 模式只支持簡單的固定資源分配策略,每個任務(wù)固定數(shù)量的 core,各Job 按順序依次分配在資源,資源不夠的時候就排隊。這種模式比較適合單用戶的情況,多用戶的情境下,會有可能有些用戶的任務(wù)得不到資源。
Yarn 作為通用的種子資源調(diào)度平臺,除了 Spark 提供調(diào)度服務(wù)之外,還可以為其他系統(tǒng)提供調(diào)度,如 Hadoop?MapReduce, Hive 等。