##spark總結 ###1.Spark的特色:java
###2.spark的提供的功能 以及應用場景python
**spark功能模塊 ** | 應用場景 |
---|---|
RDD | 離線數據處理 |
Spark SQL, DataFrames and Datasets | 結構化的關係數據運算 |
Structured Streaming | 結構化流:統一批處理與流處理計算的工具 |
Spark Streaming | 流數據實時計算 |
Machine Learning (MLlib) | 機器學習 |
GraphX | 圖數據計算 |
SparkR | R on Spark |
###3.spark重大版本更新算法
spark2.3.0的重大更新:sql
一、支持第四種調度引擎 Kubernetes clusters。 二、Structured Streaming 引入了低延遲的連續處理(continuous processing);
spark2.0.0的重大更新:編程
一、SparkSession:這是一個新入口,取代了本來的SQLContext與HiveContext 二、基於DataFrame的機器學習API將做爲主ML API出現;基於RDD的API進入維護模式。 三、spark 本身的標準SQL(Ansi-sql sql-2003標準)解析引擎,同時兼容hive-SQL. 四、數據框(DataFrame)/Dataset (數據集)API的統一。
spark1.6.X的重大更新:架構
1. 新增Dataset API 2. 使用堆外內存執行SQL,避免GC形成的瓶頸 3. 支持對非標準JSON文件的讀操做 4. 支持基於文件的SQL查詢。
###4. spark-streaming,storm,Flink對比app
**對比項 ** | ** spark-streaming** | ** storm** | flink |
---|---|---|---|
流模式 | 微批處理 | 行處理 / 或者微批處理 | 行處理/或者微批處理 |
可靠性 | Exactly-Once | At-Least-Once | Exactly-Once |
延遲 | 秒級 | 毫秒級 | 毫秒級 |
吞吐量 | 比較高 | 很是高 | 很是高 |
容錯機制 | Recourd ACKs機制 | 基於RDD的 CheckPoint | CheckPoint |
是否有狀態 | 是 | 否 | 是 |
支持SQL | 支持 | 不支持 | 支持 |
與Hadoop兼容性 | 支持HDFS、HBase等數據源 | 不支持 | 支持HDFS、HBase等數據源 |
storm 的任務編程組件是: Topology任務,由spout,bolt組成的DAG 拓撲結構。 spark-streaming任務變成組件:DStream 數據流的個各類處理方法。運維
spark-streaming 和 Flink 是將Flink Job 轉換成 JobGraph -> ExecutionGraph.機器學習
對比項 | spark-streaming | storm | flink |
---|---|---|---|
系統角色 | driver,executor | Numbius,supervisor,worker | Client,JobManager,Taskmanager |
應用名稱 | application | Topology | application |
組件接口 | DataStream | DStream | spout,bolt |
部署方式 | YARN,standalone | numbius-supervisor | YARN, standalone |
結論:工具