寶付:30分鐘理解Spark的基本原理
1
Spark優勢特點
作為大資料計算框架 MapReduce 的繼任者,Spark 具備以下優勢特性。
01
高效性
不同於 MapReduce 將中間計算結果放入磁碟中,Spark 採用記憶體儲存中間計算結果,減少了迭代運算的磁碟 IO,並透過平行計算 DAG 圖的最佳化,減少了不同任務之間的依賴,降低了延遲等待時間。記憶體計算下,Spark 比 MapReduce 快 100 倍。
02
易用性
不同於 MapReduce 僅支援 Map 和 Reduce 兩種程式設計運算元,Spark 提供了超過 80 種不同的 Transformation 和 Action 運算元,如map, reduce, filter, groupByKey, sortByKey, foreach 等,並且採用函數語言程式設計風格,實現相同的功能需要的程式碼量極大縮小。
03
通用性
Spark 提供了統一的解決方案。Spark 可以用於批處理、互動式查詢(Spark SQL)、實時流處理(Spark Streaming)、機器學習(Spark MLlib)和圖計算(GraphX)。
這些不同型別的處理都可以在同一個應用中無縫使用。這對於企業應用來說,就可使用一個平臺來進行不同的工程實現,減少了人力開發和平臺部署成本。
04
相容性
Spark 能夠跟很多開源工程相容使用。如 Spark 可以使用 Hadoop 的 YARN 和 Apache Mesos 作為它的資源管理和排程器,並且 Spark 可以讀取多種資料來源,如 HDFS、HBase、MySQL 等。 02
Spark基本概念
RDD:是彈性分散式資料集(Resilient Distributed Dataset)的簡稱,是分散式記憶體的一個抽象概念,提供了一種高度受限的共享記憶體模型。
DAG:是 Directed Acyclic Graph(有向無環圖)的簡稱,反映 RDD 之間的依賴關係。
Driver Program:控制程式,負責為 Application 構建 DAG 圖。
Cluster Manager:叢集資源管理中心,負責分配計算資源。
Worker Node:工作節點,負責完成具體計算。
Executor:是執行在工作節點(Worker Node)上的一個程式,負責執行 Task,併為應用程式儲存資料。
Application:使用者編寫的 Spark 應用程式,一個 Application 包含多個 Job。
Job:作業,一個 Job 包含多個 RDD 及作用於相應 RDD 上的各種操作。
Stage:階段,是作業的基本排程單位,一個作業會分為多組任務,每組任務被稱為“階段”。
Task:任務,執行在 Executor 上的工作單元,是 Executor 中的一個執行緒。
總結:Application 由多個 Job 組成,Job 由多個 Stage 組成,Stage 由多個 Task 組成。Stage 是作業排程的基本單位。
03
Spark架構設計
Spark 叢集由 Driver, Cluster Manager(Standalone, Yarn 或 Mesos),以及 Worker Node 組成。對於每個 Spark 應用程式,Worker Node 上存在一個 Executor 程式,Executor 程式中包括多個 Task 執行緒。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69905323/viewspace-2658547/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 寶付oracle配置Oracle
- Spark in action on Kubernetes - Spark Operator的原理解析Spark
- Spark SQL:4.對Spark SQL的理解SparkSQL
- 《深入理解Spark》之Spark的整體執行流程Spark
- 寶付介紹ELK中kibana的使用
- 寶付(上海寶付)“持證上崗”,跨境支付行業紅利期持續行業
- 寶付揭秘支付JAVE程式碼
- 寶付大資料分析解析大資料
- 寶付全面分析MySQL細節MySql
- 淘寶微信代付 bug
- 從萌新的角度理解Mysql索引基本原理MySql索引
- 寶付談支付前端如何配合javascript前端JavaScript
- 寶付續寫Python人工智慧Python人工智慧
- 寶付揭秘elk大資料與支付的秘密大資料
- 寶付揭秘人工智慧支付的五種程式人工智慧
- 寶付初識單執行緒的 Node.js執行緒Node.js
- 2023支付寶五一消費洞察
- 寶付談小白IT職場奮鬥之路
- 寶付揭秘移動支付如何辦公?
- 寶付敲寫Echarts+extjs3程式EchartsJSS3
- 寶付撰寫java基礎程式碼Java
- 藍寶石時鐘與原子鐘有何區別
- 寶付揭秘ERP系統基礎資料
- 上海寶付大資料分析storm結合大資料ORM
- 上海寶付金融網路安全意識普及
- Spark Job-Stage-Task例項理解Spark
- 分分鐘讓你理解HTTPSHTTP
- 10分鐘教你理解反射反射
- 5分鐘帶你通過Javascript瞭解人工智慧的基本原理JavaScript人工智慧
- 深入原始碼理解Spark RDD的資料分割槽原理原始碼Spark
- 寶付揭秘Linux支付命令操作之grep、sed、awkLinux
- 寶付分析關於ExtJS與JQuery支付對比JSjQuery
- 上海寶付書寫html實用知識點HTML
- 上海寶付:黑色招聘看你如何掉進騙局
- 寶付IT職場預言,你是否被說中了?
- 寶付敲寫Java怎麼自學找工作Java
- 實不相瞞,寶付又發現個大秘密……
- 寶付安全支付|防範“殺豬盤”騙局