1. 程式人生 > >大資料處理系統都有哪些?(流式計算系統)

大資料處理系統都有哪些?(流式計算系統)

我們在上一篇文章中給大家介紹了批處理系統以及迭代計算系統。這兩種方法都是比較抽象的,我們在這篇文章中給大家介紹一種Facebook經常使用的流式計算系統,希望這篇文章能夠給大家帶來幫助。

流式計算系統就是因為流式計算具有很強的實時性,需要對應用源源不斷產生的資料實時進行處理,使資料不積壓、不丟失,常用於處理電信、電力等行業應用以及網際網路行業的訪問日誌等。在Facebook 的 Scribe、 Apache的 Flume、 Twitter的 Storm、 Yahoo的S4、UCBerkeley的Spark Streaming是常用的流式計算系統。下面我們分別說說scribe、flume、Storm、S4以及Spark Streaming。

首先說說Flume。Flume其功能與Scribe相似,主要用於實時收集在海量節點上產生的日誌資訊,儲存到類似於HDFS的網路檔案系統中,並根據使用者的需求進行相應的資料分析。而Scribe用於從海量伺服器實時收集日誌資訊, 對日誌資訊進行實時的統計分析處理,應用在Facebook內部。Storm是基於拓撲的分散式流資料實時計算系統,現已經開放原始碼,並應用於淘寶、百度、支付寶、Groupon、Facebook等平臺,是主要的流資料計算平臺之一。而S4:全稱是Simple Scalable Streaming System,是由Yahoo開發的通用、分散式、可擴充套件、部分容錯、具備可插拔功能的平臺,s4其設計目的是根據使用者的搜尋內容計算得到相應的推薦廣告,現已經開源,是重要的大資料計算平臺。最後說一下Spark Streaming,這是構建在Spark上的流資料處理框架,將流式計算分解成一系列短小的批處理任務進行處理。

網站流量統計是Spark Streaming的一種典型的使用場景,這種應用既需要具有實時性,還需要進行聚合、去重、連線等統計計算操作。如果使用Hadoop MapReduce框架,則可以很容易地實現統計需求,但無法保證實時性;如果使用Storm這種流式框架則可以保證實時性,但實現難度較大。Spark Streaming可以以準實時的方式方便地實現複雜的統計需求。這句需要我們掌握好這些內容。

我們在這篇文章中給大家介紹了流式計算系統的內容,具體內容就是scribe、flume、Storm、S4以及Spark Streaming。這些內容都在全球的大公司中都有應用,由此可見這些方法還是比較實用的,大家要好好學習起來,利用好這些資源。