流式計算簡介

2021-08-30 06:23:58 字數 989 閱讀 2556

日常工作中,我們一般會先把資料儲存在一張表中,然後對這張表的資料進行加工、分析。那這裡是先儲存在表中,那就會涉及到時效性這個概念。

如果我們處理以年,月為單位的級別的資料處理,進行統計分析,個性化推薦,那麼資料的的最新日期離當前有幾個甚至上月都沒有問題。但是如果我們處理的是以天為級別,或者以小時甚至更小粒度的資料處理,那麼就要求資料的時效性更高了。比如:對**的實時監控,對異常日誌的監控,這些場景需要工作人員立即響應,這樣的場景下,傳統的統一收集資料,再存到資料庫中,再取出來進行分析就無法滿足高時效性的需求了。

上面說到的:統一收集資料--儲存到db--對資料進行批量處理,就是我們說到的批量計算

而流式計算,顧名思義,就是對資料流進行處理,是實時計算。

主要原理是:

(1)與批量計算那樣慢慢積累資料不同,流式計算將大量資料平攤到每個時間點上,連續地對小批量資料的進行傳輸,資料持續流動,計算完之後就丟棄。

(2)批量計算是維護一張表,對錶進行實施各種計算邏輯。流式計算相反,是必須先定義好計算邏輯,提交到流式計算系統,這個計算作業邏輯在整個執行期間是不可更改的。

流程:(1)提交流計算作業

(2)等待流式資料觸發流計算作業

(3)計算結果持續不斷對外寫出

特性:(1)實時,低延遲

(2)無界,資料是不斷輸出無終止的

(3)連續,計算連續進行,計算之後資料就會被丟棄

strom:twitter 開發的第一代流處理系統。

heron:twitter 開發的第二代流處理系統。

spark streaming:是spark核心api的乙個擴充套件,可以實現高吞吐量的、具備容錯機制的實時流資料的處理。

flink:是乙個針對流資料和批資料的分布式處理引擎。

apache kafka:由scala寫成。該項目的目標是為處理實時資料提供乙個統

一、高通量、低等待的平台。

流式計算框架

s4s4會將資料裡的每一條記錄包裝成event事件,每個事件是乙個kv對,同時有eventtype來標示這個事件的型別。pe是s4中的基本運算單元。每個pe只負責處理自己所關心的eventtype,並且只處理自己所對應的key值的event。pe處理後可能輸出乙個或多個event。就像hadoop上...

Storm流式計算

下面以水廠加工的例子進行講解。人們要想喝到自來水。1 是不是需要水幫浦在水源地進行抽水 2 將抽到的水放到蓄水池裡作進一步的處理。第乙個蓄水池的實現的功能就是做沉澱。第二個蓄水池的功能就是過濾。第三個蓄水池的功能就是消毒。之後產生蓄水。3 要想上面的過程完美的進行,是不是需要乙個中控室,來告訴這些水...

Strom流式計算

storm是twitter的開源流計算解決方案,因為對hadoop的mapreduce的高延遲缺點而出現。kafka 分布式訊息系統 redis 快取資料庫 storm 流式計算 1.storm 的基本概念 2.storm 的應用場景 3.storm 和hadoop的對比 4.storm 集群的安裝...