您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關SparkCore的組件Components怎么用,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
Application:SparkContext a driver program + executors Spark-shell 是一個 Application 一個程序里面只能有一個SparkContext Driver program 主要理解為main方法 The process running the main() function of the application and creating the SparkContext Cluster manager --master 設置上去的 Deploy mode 區分Driver 運行在哪里 區分client 還是集群 Worker node 相當于nodemanager Executor(進程)無代碼,通過driver發過去的 相當于contain容器 大部分executors自己管自己獨立,也有共享的 A process launched for an application on a worker node, that runs tasks and keeps data in memory or disk storage across them. Each application has its own executors. Task 一個工作單元,可以發送到executor 上去 A unit of work that will be sent to one executor Job 觸發action產生 task并行執行,遇到action產生job main program 也叫 driver program cluster managers 集群管理器
解釋:下圖 剛開始需要申請資源,后來是傳代碼運行,發送到executor spark 應用程序獨立的運行在集群上,在program 運行sparkcontext 在集群上運行,sc連接到集群管理器,sc 去獲取應用程序要的資源 一旦連接,spark請求集群上的executors資源, 在executors 資源中計算和存儲數據對于你的應用程序 接下里會發送代碼通過sc,發送到executors,最終task會在 executors 中運行
右 n jobs 包含 n stages 包含 n tasks stage默認就一個除非遇到shuffer 最終: application = n jobs + n stages + n tasks
agnostic 不知道 executor 與driver間有通信,防止掛了 資源管理器申請資源 action產生job 每個應用程序有它自己的應用進程,executor一直保持整個應用程序,并且 task在里面一直運行,對于互相有好處,一方面是調度反面(每個應用調度有它自己 的task),另一個方面是executor里面運行的task運行在自己的JVM中不影響互相 但是,它也意味著數據不可以共享對于不同的應用程序,但是你要寫到 外部系統可以共享 spark是不用關心你運行在什么模式上 這個應用程序必須監聽和接受executo的通知,保持活性,防止掛掉 任務放在集群上,最好放在離worker 近的位置,特別同一個網絡
上述就是小編為大家分享的SparkCore的組件Components怎么用了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。