二.driver的功能
三.hadoop和spark都是平行計算,他們有什麼相同點和不同點
四.rdd
五.簡述寬依賴和窄依賴概念,groupbykey,reducebykey,map,filter,union都是什麼依賴?
六.spark如何防止記憶體溢位
七.stage task 和 job的區別和劃分方式
八.spark提交作業引數
九.reducebykey和groupbykey的區別
十.foreach和map的區別
十二.foreach和foreachpartition的區別
十三.sortbykey是全域性排序嗎?
十四.coalesce與repartition的區別
十五.spark血統-即rdd之間依賴關係
十六.spark rdd 的持久化
十七.spark提交任務流程
十八.spark join的優化
十九.spark 的shuffle方式
二十.廣播變數作用
廿一.資料傾斜解決方案
廿二.spark通訊機制
運算元的寬窄依賴
#如下是乙個提交任務的樣式:
spark-submit \
--master local[5] \
--driver-cores 2 \
--driver-memory 8g \
--executor-cores 4 \
--num-executors 10 \
--executor-memory 8g \
--class packagename.classname ***x.jar \
--name "spark job name" \
inputpath \
outputpath
相同點:foreach和foreachpartition都屬於行動運算元
區別:
sortbykey是全域性排序
例子詳解
場景:
使用:
checkpoint的優點:
checkpoint原理:
2)master接受請求後,隨機在集群中一台節點啟動driver程序
3)driver啟動後為當前的應用程式申請資源
4)driver端傳送task到worker節點上執行
5)worker將執**況和執行結果返回給driver端
3)rs收到請求,隨機選擇一台nm啟動am,這裡的nm相當於standalone中的worker節點
4)am啟動後,會向rs請求一批container資源,用於啟動executor
5)rs會找到一批nm返回給am,用於啟動executor
2)rs收到請求後隨機在一台nm上啟動am(相當於driver端)
3)am啟動,am傳送請求到rs,請求一批container用於啟動executor
4)rs返回一批nm節點給am
5)am連線到nm,傳送請求到nm啟動executor
6)executor反向註冊到am所在節點的driver.driver傳送task到executor
shuffle方式共分三種,分別是:hashshuffle,sortshuffle(預設),tungstenshuffle
在spark程式中設定方式:通過設定spark.shuffle.manager進行配置:
// 可設定為hash sort tungsten-sort
private val session: sparksession = sparksession.
builder()
.("***").
master
("local[*]").
config
("spark.shuffle.manager"
,"hash").
getorcreate
()
hashshufflemanager特點:
sortshufflemanager的特點:
方案一:聚合源資料
方案二:過濾導致傾斜的key
方案三:提高shuffle操作reduce並行度
方案四:利用雙重聚合
方案五:reduce join 轉換成 map join
方案六:sample抽樣分解聚合
方案七:使用隨機數和擴容進行join
spark訊息通訊主要分成三個部分:整體框架,啟動訊息通訊,執行時訊息通訊
1.概述
2.具體通訊流程
3.通訊框架
大資料常見面試題之kafka
四.kafka到sparkstreaming怎麼保證資料完整性,怎麼保證資料不重複消費?五.kafka的消費者高階和低階api區別 六.kafka怎麼保證資料消費一次且僅消費一次 七.kafka保證資料一致性和可靠性 八.spark實時作業宕掉,kafka指定的topic資料堆積怎麼辦 九.kafk...
大資料常見面試題之HBase
三.hbase的優化 四.hbase讀寫流程 五.rowkey如何設計避免熱點問題 六.hbase的最小儲存單位 七.hbase如何進行預分割槽以及作用 八.hbase中的hfile什麼時候需要合併成大檔案,什麼時候拆分成小檔案 九.為什麼hbase查詢比較快 1.表設計 2.寫表 3.讀表 hba...
大資料常見面試題整理
今年參加了校園秋招,主要針對招聘大資料研發相關崗位,最後也如願以償找到了大資料軟體開發的工作,在此期間整理了一下比較常見的相關面試題。1.mapreduce實際處理過程 input 2.列出yarn中的關鍵元件,並簡述各關鍵元件內部的互動原理。3.mapreduce的原理理解。4 reduce中的o...