1. 程式人生 > >【SparkStreaming學習之一】 SparkStreaming初識

【SparkStreaming學習之一】 SparkStreaming初識

流處理 資源 的區別 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初識