鎖屏面試題百日百刷-Spark篇(六)
?鎖屏面試題百日百刷,每個工作日堅持更新面試題。鎖屏面試題app、小程序現(xiàn)已上線,官網地址:https://www.demosoftware.cn。已收錄了每日更新的面試題的所有內容,還包含特色的解鎖屏幕復習面試題、每日編程題目郵件推送等功能。讓你在面試中先人一步!接下來的是今日的面試題:
1.Spark的小文件讀???

2.如何理解Spark的RDD數(shù)據(jù)結構分區(qū)?



3.Spark何時緩存數(shù)據(jù)



4.Spark的Job調度模式
用戶通過不同的線程提交的Job可以并發(fā)運行,但是受到資源的限制。Job到調度池(pool)內申請資源,調度池會根據(jù)工程的配置,決定采用哪種調度模式。
FIFO模式
在默認情況下,Spark的調度器以FIFO(先進先出)方式調度Job的執(zhí)行。每個Job被切分為多個Stage。第一個Job優(yōu)先獲取所有可用的資源,接下來第二個Job再獲取剩余資源。以此類推,如果第一個Job并沒有占用所有的資源,則第二個Job還可以繼續(xù)獲取剩余資源,這樣多個Job可以并行運行。如果第一個Job很大,占用所有資源,則第二個Job就需要等待第一個任務執(zhí)行完,釋放空余資源,再申請和分配Job。如果是相同的Job不同的Stage,則優(yōu)先執(zhí)行較早的Stage。
在FAIR共享模式調度下,Spark在多Job之間以輪詢(round robin)方式為任務分配資源,所有的任務擁有大致相當?shù)膬?yōu)先級來共享集群的資源。這就意味著當一個長任務正在執(zhí)行時,短任務仍可以分配到資源,提交并執(zhí)行,并且獲得不錯的響應時間。這樣就不用像以前一樣需要等待長任務執(zhí)行完才可以。這種調度模式很適合多用戶的場景。
從spark0.8開始,可以配置公平調度器,spark?分配tasks是以一種輪詢的方式,短的job可以提前被執(zhí)行完??梢栽趕parkContext中設置spark.scheduler.mode=FAIR