- 比如兩個rdd 兩個分區合並去他們的並集 intersection 去數據的交集 subtract去差集
- mappartition與map像是遍歷的單位是每個pation分區的數據進來的是iterrter是迭代器
- distinct去重(map+reducebykey+map)
- cogroup 作用在keyv格式上的算子
- 寬依賴產生shuffer 也就是說和磁盤還打交道
- stage是由一組並行的task組成碰到寬依賴會划分一個stage
- mapreduce每一度都落地磁盤 spark是shuffer調優做好基於內存還是挺快的]
- shuffer write的時候 兩個並行的task處理的管道數據才落地
- stage的並行度由finalrdd的partion決定的
- 1 提高stage的並行度
- 方法 reducebykey(numpartion分區)就能決定
- 方法2 jion(numpartion)也可以決定
- 如何改變rdd的分區數量
- reducebykey groupbykey
- stage的切割規則是從后往前 遇到寬依賴算子就切割
- 碰到action算子有個job 將job切成stage 划分stage 形成一個新的dag 通過taskset 發送到taskscheduler 發送taske 到worker端去工作
- 資源調度和任務調度
- coalesec算子是可以指定分區產生不產生shuffe repartition就是coalsec的一個封裝 repartition多用於爭奪分區 cosecse多用於減少分區1 使用 cosec如果由少的分區
- 到多的分區的話 還不讓他產生shuffer是不起作用的
- 默認不設置exctoer的話默認啟動一個每個worker上
- Client模式默認是啟動兩個core 核是用1G內存