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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SPARK:作业基本运行原理

發布時間:2024/1/17 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SPARK:作业基本运行原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Spark作業基本運行原理:

  我們使用spark-submit提交一個spark作業之后,這個作業就會啟動一個對應的Driver進程。根據你使用的部署模式(deploy-mode)不同:
1)Driver進程可能在本地啟動,也可能在集群中的某個工作節點上啟動;
2)Driver進程本身會根據我們設置的參數,占有一定數量的內存和CPU core。
而Driver進程要做的第一件事情,就是向集群管理器(可以是Spark Standlone集群,也可以是其他的資源管理集群,比如:YARN作為資源管理集群。)申請運行spark作業需要使用的資源,這里的資源指的是Executor進程。YARN集群管理器會根據我們為Spark作業設置的資源參數,在各個工作節點上,啟動一定數據量的Executor進程,每個Executor進程都會占有一定數量的內存和CPU core。

?  在申請到了作業執行所需要的資源之后,Driver進程就會開始調用和執行編寫的作業代碼。Driver進程會將編寫的Spark作業代碼拆分為多個stage,每個stage執行一部分代碼片段,并為每個stage創建一批task,然后將這些task分配到各個Executor進程中執行。

  task是最小的計算單元,負責執行一模一樣的計算邏輯(編寫代碼的某個片段),只是每個task處理的數據不同而已。一個stage的所有task都執行完成之后,會在各個節點本地的磁盤文件中寫入計算中間結果,然后Driver就會調度運行下一個stage。下一個stage的task的輸入數據就是上一個stage輸出的中間結果。如此循往復,直到將我們自己的編寫的代碼全部執行完成,并且計算完所有的數據,得到我們想要的結果為止。

參考《Spark性能優化:資源調優篇》

Spark不錯的文章:

《Spark技術內幕:Executor分配詳解》

《Spark運行原理》

《Spark 基礎(上篇)》

《Spark 基礎(下篇)》

總結

以上是生活随笔為你收集整理的SPARK:作业基本运行原理的全部內容,希望文章能夠幫你解決所遇到的問題。

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