您好,登錄后才能下訂單哦!
Spark運行架構的特點及優勢是什么,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
Spark作為一種分布式的計算框架,類似于大數據開發中Hadoop生態圈的MapReduce,計算思想和MR非常相似,兩者都是分而治之的思想,但使用率要比MR高很多。下面整理了關于Spark運行架構的大數據面試題,內容包括Spark運行的基本流程、架構特點、優勢。
1、Spark 運行基本流程:
(1)構建 Spark Application 的運行環境(啟動 SparkContext),SparkContext 向資源管理器(可以是 Standalone、Mesos 或 YARN)注冊并申請運行 Executor 資源;
(2)資源管理器分配 Executor 資源并啟動 Executor,Executor 運行情況將隨著心跳發送到資源管理器上;
(3)SparkContext 構建成 DAG 圖,將 DAG 圖分解成 Stage,并把 Taskset發送給 Task Scheduler。Executor 向 SparkContext 申請 Task,Task Scheduler 將Task 發放給 Executor 運行同時 SparkContext 將應用程序代碼發放給 Executor。
(4)Task 在 Executor 上運行,運行完畢釋放所有資源。
2、Spark 運行架構特點:
(1)每個 Application 獲取專屬的 executor進程,該進程在 Application 期間一直駐留,并以多線程方式運行 tasks。
(2)Spark 任務與資源管理器無關,只要能夠獲取 executor 進程,并能保持相互通信就可以了。
(3)提交 SparkContext 的 Client 應該靠近 Worker 節點(運行 Executor 的節點),最好是在同一個 Rack 里,因為 Spark 程序運行過程中 SparkContext 和Executor 之間有大量的信息交換;如果想在遠程集群中運行,最好使用 RPC 將SparkContext 提交給集群,不要遠離 Worker 運行 SparkContext。
(4)Task 采用了數據本地性和推測執行的優化機制。
3、Spark的優勢:
(1)計算效率高
資源復用;粗粒度的資源調度。
(2)使用方便
支持使用多門語言來編寫;提供了超過80多種方法來供我們使用。
(3)通用性強
Spark生態圈中的組件都是基于SparkCore封裝起來的。
(4)適應性強
可以接受上百種數據源;可以運行在各種各樣的資源調度框架上。
看完上述內容,你們掌握Spark運行架構的特點及優勢是什么的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。