1)實時性。流式大資料不僅是實時產生的,也是要求實時給出反饋結果。系統要有快速響應能力,在短時間內體現出資料的價值,超過有效時間後資料的價值就會迅速降低。
2)突發性。資料的流入速率和順序並不確定,甚至會有較大的差異。這要求系統要有較高的吞吐量,能快速處理大資料流量。
3)易失性。由於資料量的巨大和其價值隨時間推移的降低,大部分資料並不會持久儲存下來,而是在到達後就立刻被使用並丟棄。系統對這些資料有且僅有一次計算機會。
4)無限性。資料會持續不斷產生並流入系統。在實際的應用場景中,暫停服務來更新大資料分析系統是不可行的,系統要能夠持久、穩定地執行下去,並隨時進行自我更新,以便適應分析需求。
流式計算的典型正規化之一是不確定資料速率的事件流流入系統,系統處理能力必須與事件流量匹配,或者通過近似演算法等方法優雅降級,通常稱為負載分流(load-shedding)。當然,除了負載分流,流式計算的容錯處理等機制也和批處理計算不盡相同。
有人會說,mr也有自己的實時計算方案,比如說hop。
但是,這類基於mapreduce進行流式處理的方案有三個主要缺點。
綜上所述,流式處理的模式決定了要和批處理使用非常不同的架構,試圖搭建乙個既適合流式計算又適合批處理計算的通用平台,結果可能會是乙個高度複雜的系統,並且最終系統可能對兩種計算都不理想。
目前流式計算是業界研究的乙個熱點,最近twitter、linkedin等公司相繼開源了流式計算系統storm、kafka等,加上yahoo!之前開源的s4,流式計算研究在網際網路領域持續公升溫。不過流式計算並非最近幾年才開始研究,傳統行業像金融領域等很早就已經在使用流式計算系統,比較知名的有streambase、borealis等。
1、2、
流式處理框架的特點
分布式的流處理是對無界的資料集進行連續不斷的處理,聚合,分析的過程。延遲需要盡可能的低 毫秒級或秒級 這類框架通常採用有向無環圖 dag 來描述和處理作業拓撲。線性處理也是一種dag 他們一般會抽取此類系統的底層通用模型,保證其易用性,健壯性和可擴充套件性。讓開發者專注於業務實現。流式處理框架一般會...
流式計算框架
s4s4會將資料裡的每一條記錄包裝成event事件,每個事件是乙個kv對,同時有eventtype來標示這個事件的型別。pe是s4中的基本運算單元。每個pe只負責處理自己所關心的eventtype,並且只處理自己所對應的key值的event。pe處理後可能輸出乙個或多個event。就像hadoop上...
流式計算簡介
日常工作中,我們一般會先把資料儲存在一張表中,然後對這張表的資料進行加工 分析。那這裡是先儲存在表中,那就會涉及到時效性這個概念。如果我們處理以年,月為單位的級別的資料處理,進行統計分析,個性化推薦,那麼資料的的最新日期離當前有幾個甚至上月都沒有問題。但是如果我們處理的是以天為級別,或者以小時甚至更...