1. 程式人生 > >Spark Streaming(01)——Spark Streaming概述

Spark Streaming(01)——Spark Streaming概述

1、Spark Streaming是什麼?

Spark Streaming類似於Apache Storm,用於流式資料的處理。 Spark Streaming有高吞吐量和容錯能力強等特點。且支援的資料來源有很多,例如:Kafka、Flume、Twitter、ZeroMQ和簡單的TCP套接字等等。 資料輸入後可以用Spark的高度抽象操作如:map、reduce、join、window等進行運算。而結果也能儲存在很多地方,如HDFS,資料庫等。另外Spark Streaming也能和MLlib(機器學習)以及Graphx完美融合。 在這裡插入圖片描述

2、Spark Streaming特點

易用

可以像編寫離線批處理一樣去編寫流式程式,支援java/scala/python語言。

容錯

SparkStreaming在沒有額外程式碼和配置的情況下可以恢復丟失的工作。 它的容錯性依賴於底層的rdd的容錯機制。 在這裡插入圖片描述

易整合

Spark Streaming 易整合到Spark體系。它可以將流式處理與批處理和互動式查詢相結合。

3、SparkStreaming與Storm的對比

開發語言不同:spark Streaming的開發語言是Scala,Storm 的開發語言是Clojure. 程式設計模型不同:Spark Streaming的程式設計模型是Dstream,Storm的程式設計模型是Spout/Bolt 實時性不同:Spark Streaming是某一時間間隔的流式批量處理。實時性沒有storm高,準實時處理。Storm是來一條資料處理一條,實時性比較高。