日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

怎么解析spark的宽窄依赖和持久化

發布時間:2023/12/19 综合教程 29 生活家
生活随笔 收集整理的這篇文章主要介紹了 怎么解析spark的宽窄依赖和持久化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本篇文章為大家展示了怎么解析spark的寬窄依賴和持久化,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

一.持久化官網

1.官網位置截圖

2.cache 源碼

cache底層調用的是persisit,默認參數是StorageLevel.MEMORY_ONLY
cache用完最好手動干掉

3.StorageLevel源碼

4.StorageLevel 解釋

是否使用磁盤
是否使用內存
不管
反序列化
副本

5.persisit 可以傳的參數

6.官網:怎么選擇緩存?

7.上圖解釋

選擇默認第一種MEMORY_ONLY
內存不夠選怎序列化
磁盤最好別選擇
不要用這個副本形式耗內存
緩存選擇:
Spark’sstoragelevelsaremeanttoprovidedifferenttrade-offs(權衡)betweenmemoryusageandCPUefficiency.Werecommendgoingthroughthefollowingprocesstoselectone:選擇方式
優先級從上到下
優先選擇第一個MEMORY_ONLY,內存實在不夠就序列化
IfyourRDDsfitcomfortablywiththedefaultstoragelevel(MEMORY_ONLY),leavethemthatway默認可以搞定就用默認的.ThisisthemostCPU-efficientoption,allowingoperationsontheRDDstorunasfastaspossible.
不要選擇java的序列化
Ifnot,tryusingMEMORY_ONLY_SERandselectingafastserializationlibrarytomaketheobjectsmuchmorespace-efficient空間很好,butstillreasonablyfasttoaccess.(JavaandScala)
Don’tspilltodisk不要放到磁盤unlessthefunctionsthatcomputedyourdatasetsareexpensive,ortheyfilteralargeamountofthedata.Otherwise,recomputingapartitionmaybeasfastasreadingitfromdisk.

二.寬窄依賴,血緣關系

1.總結

寬依賴用shufer
寬窄依賴容錯程度不一樣
一個shuffer產生兩個stage,兩個產生三個stage等等
Lineage血緣關系用于容錯很多都是記錄的
textfile=》xx=>yy
描述的是一個RDD如何從父RDD過來的
RDD作用一個函數就是對RDD里面的分區作用一個函數
丟失了根據父RDD重新算一下
dependence
寬依賴:一個父RDD的partition至多被子RDD的某個partition使用一次沒shuffer
pipline丟一個就直接拿出來計算就可以
窄依賴:一個父RDD的parttiton會被子RDD的partitio使用多次有shuffer
寬依賴掛掉了要從父RDD全部計算
有的時候解決數據傾斜需要shuffer
他們容錯程度不一樣的
有shuffer就會生成stage
總結:老子被兒子用幾次,多個孩子(寬)或單個孩子(窄)

2.driver

driver就是main方法中創建sparkcontext
action產生job,shuffer產生stage,stage里是task

總結

以上是生活随笔為你收集整理的怎么解析spark的宽窄依赖和持久化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。