【SparkStreaming學習之一】 SparkStreaming初識
阿新 • • 發佈:2019-04-18
流處理 資源 的區別 str 高級功能 category www. socket 使用
環境
虛擬機:VMware 10
Linux版本:CentOS-6.5-x86_64
客戶端:Xshell4
FTP:Xftp4
jdk1.8
scala-2.10.4(依賴jdk1.8)
spark-1.6
一、SparkStreaming簡介
SparkStreaming是流式處理框架,是Spark API的擴展,支持可擴展、高吞吐量、容錯的實時數據流處理,實時數據的來源可以是:Kafka, Flume, Twitter, ZeroMQ或者TCP sockets,並且可以使用高級功能的復雜算子來處理流數據。例如:map,reduce,join,window 。最終,處理後的數據可以存放在文件系統,數據庫等,方便實時展現。
二、SparkStreaming與Storm的區別
1、Storm是純實時的流式處理框架(扶梯),SparkStreaming是準實時的處理框架(微批處理-電梯)。因為微批處理,SparkStreaming的吞吐量比Storm要高。
2、Storm 的事務機制要比SparkStreaming的要完善。
3、Storm支持動態資源調度。(spark1.2開始和之後也支持)
4、SparkStreaming擅長復雜的業務處理,Storm不擅長復雜的業務處理,擅長簡單的匯總型計算。
整體而言速度比storm要快,目前新項目一般選擇SparkStreaming多一些,具體選擇還要看應用場景
參考:
Spark
【SparkStreaming學習之一】 SparkStreaming初識