Spark任務參數優化

      網友投稿 1186 2022-05-28

      當我們提交Spark作業的時候,Spark作業會啟動Driver進程去運行Application的main()函數,并且創建SparkContext,然后通過SparkContext與集群管理器申請Spark作業所需的資源,即Spark作業所需要的Executor進程。集群管理器會根據提交作業的資源參數設置,為各個工作節點分配相應數量的Executor,以及每個Executor所占用的內存數量和CPU Core核心數。

      當資源分配完成以后,Driver便會開始運行我們的作業代碼,過程中,Driver會將我們的Spark作業根據邏輯拆解為多個stage,并將每個stage拆分為多個最小計算單元task,分配到各個Executor上去執行。當一個Stage的所有task執行完畢后,便會開始下一個stage的調度,直到我們的作業代碼執行完畢。

      在作業的運行過程中,Executor主要占用的資源分別是Cpu核心數和內存大小,合理的分配資源的大小,可以有效的提高我們的作業執行效率。

      我們的Cpu的每一個core在同一時間只能執行一個線程,而我們的Excutor每次都會接收到多個task任務,每個task任務會占用一個線程,Excutor以多線程并發形式運行,眾所周知,線程數量并非越多越好,只有當Cpu核心數與線程數數量相對合理,才能更加高效的處理task任務。

      內存方面,Executor的內存主要分為三塊,分別是執行task任務所需的內存,獲取之前stage輸出的內存,以及RDD持久化所需要的內存,默認占比為2:2:6。

      當了解了Spark的運行原理以及資源的使用方式以后,我們就可以通過修改Spark提供的資源參數,設置Spark作業的資源分配,以達到性能的優化。主要參數配置如下:

      1.???? num-executors

      excutor的個數:需要根據現有資源的大小情況進行合理配置,在考慮每個excutor的內存和核心數情況下,設置合理的個數以免資源的浪費。

      2.???? executor-memory

      executor的內存大?。嚎紤]作業情況不要設置的過小,過小可能會造成JVM OOM異常,占用的內存總量為num-executors*excutor-memory,需要注意不要超過當前資源的最大內存總量。

      3.???? executor- cores

      executor的單個core核心個數:在資源允許的情況下Excutor的核心數越多,作業的執行效率就會越高,占用的Cpu core總量為num-executors*excutor-cores,需要注意不要超過當前資源Cpu cores的總數。

      4.???? spark.default.parallelism

      stage劃分的task個數:task個數可以根據你設置的Executor的個數和Cpu核心數進行設置,一般推薦為num-executors*executor-cores的2~3倍。

      5.???? spark.shuffle.memoryFraction

      Spark任務參數優化

      shuffle操作內存在Executor內存中的占比:默認值為0.2,即0.2*executor-memory的內存會被用來處理shuffle操作的數據,當內存不夠的時候,會將數據寫入磁盤保存,從而導致性能降低,當shuffle操作較多時,可以提高該占比。

      6.???? spark.storage.memoryFraction

      持久化操作內存在Executor內存中的占比:默認值為0.6,即0.6*executor-memory的內存會被用來保存持久化的RDD的數據,當內存不夠的時候,會將數據寫入磁盤保存,從而導致性能降低,當持久化操作較多時,可以提高該占比。

      7.???? driver-memory

      driver進程的內存大小:一般使用默認值即可,當Driver上的數據過多出現內存溢出的情況下,需要調整該參數。

      EI企業智能 AI

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:番外篇:Lucene索引流程與倒排索引實現
      下一篇:華為存儲SAN特性之smarttier講述
      相關文章
      亚洲一区综合在线播放| 亚洲人成网7777777国产| 亚洲AV无码一区二区乱子伦 | 亚洲综合AV在线在线播放| 朝桐光亚洲专区在线中文字幕| 亚洲另类无码一区二区三区| 亚洲无码一区二区三区 | 亚洲一区二区三区国产精品| 亚洲精品国产va在线观看蜜芽| 在线观看亚洲专区| 亚洲av手机在线观看| 豆国产96在线|亚洲| 国产亚洲精品美女久久久久久下载| 亚洲国产精品18久久久久久| 在线亚洲午夜片AV大片| 亚洲视频在线观看2018| 亚洲欧洲国产综合AV无码久久| 亚洲AV中文无码字幕色三| 久久久久噜噜噜亚洲熟女综合| 国产精品亚洲玖玖玖在线观看 | 亚洲综合图片小说区热久久| 亚洲黄色在线播放| 亚洲欧洲高清有无| 亚洲一区二区三区不卡在线播放| 亚洲国产成人99精品激情在线| 亚洲AV一二三区成人影片| 亚洲熟妇少妇任你躁在线观看| 亚洲av中文无码字幕色不卡 | 亚洲GV天堂GV无码男同| 另类图片亚洲校园小说区| 亚洲国产精品自在拍在线播放| 久久久无码精品亚洲日韩软件 | 色老板亚洲视频免在线观| 亚洲精品乱码久久久久久蜜桃图片 | 久久综合亚洲色HEZYO社区| 亚洲国产成人精品无码一区二区 | 亚洲一区二区三区无码中文字幕| 亚洲国产美女精品久久久久∴| 久久精品亚洲综合| 亚洲大尺码专区影院| 亚洲另类自拍丝袜第五页 |