flink入門 流式計算概念

2021-09-24 07:58:02 字數 1088 閱讀 5636

只要時間不停萬事萬物都沒有靜止。我們所以為的靜態,不過是流中的乙個片段。 意味著流的世界,不在乎所謂的狀態,在乎的是變化,也就是事件的發生,通過事件來表示。

批量的時代,我們只記錄關鍵的資訊,只在乎當前的狀態,不會去記錄狀態是如何一步步變化至當前狀態的,計算所面向的資料也是靜態的,從乙個態的資料變化到另乙個靜態的資料。

流的時代我們在乎的是變化,也就是一系列的事件,我們計算所面臨將是時時刻刻在更新流動的資料。

這完全就上公升了乙個維度,就像四維生物可以穿梭於時間之中。

時間對流來說是至關重要的,因為這關係事件與事件之間的順序關係,一旦錯亂便有可能導致計算出的當前狀態是錯誤的。時間讓事件有了秩序。

資料來源不斷產生資料形成流,通過計算生成新的流,不斷去更新目標資料來源,實現結果資料的實時更新。

流式計算和批量計算的運算元無外乎都是那些資料的操作。區別就是批量面向的資料是一坨一坨打包好的,靜態的;流式面向的是流無限的資料。在分布式環境中批量計算是將計算移動到相應的資料上進行執行,而流式計算是將定義好的計算部署到分布式的節點上,讓資料在上面流動。

1.低延時。比如實時的pv、uv。 2.實時etl。例如行為資料join維表,近實時落入hdfs。 3.事件驅動場景。例如上面的cep。

第一部分說時間在流的世界觀中代表了事件的秩序,因為實時的環境會由於各種各樣的原因(比如網路延時)導致事件到達計算節點的順序和發生的順序很可能是不一樣的。

流計算面臨的是源源不斷流入的資料,而如果還像批量計算那樣的操作方式來計算的化,很可能就會導致計算根本無法結束,或者隨著時間的推移需要儲存的資料越來越多,導致記憶體爆掉。

因為資料是不斷產生的,所以需要計算是longlive的,一直存在。但時間長了出問題的概率大大增加,一旦掛掉,一些計算過程快取的資料怎麼儲存、怎麼恢復機會是個比較大的問題。

分布式環境下,共享資料實時同步,實現協同,這又是另乙個故事了。

流是實時的,那資料的速率就是不穩定的,就像明星結婚啥的,會有突發的高峰,如何能實時適應這樣的突發。

本文希望同學們能對流計算有個大概的了解,了解它的應用場景、架構、所面臨的難點。了解了這些接下來學習就有了方向。 關注我的主頁 www.jianshu.com/u/7478cf233… 一起學習大資料吧

FLINK流式概念

flink流式概念整理 動態表 1 將流轉換為動態表。2 在動態表上計算乙個連續查詢,生成乙個新的動態表。3 生成的動態表被轉換回流。時間屬性 時間屬性可以像普通的時間戳的列一樣被使用和計算。一旦時間屬性被用在了計算中,它就會被物化,進而變成乙個普通的時間戳。普通的時間戳是無法跟 flink 的時間...

Flink流式計算裡的時間和watermark機制

流計算 是相對於 批計算 來的,mapreduce,spark底層的計算方式是目前主流的 批計算 實現方式,很多公司在使用這種方式做大資料處理。但是越來越多的公司目前開始關注 流計算 主要有以下一些原因 1 對處理時間的要求。隨著技術的進步,使用者對 延遲 的忍受能力越來越弱,能更及時發現問題 解決...

flink 2 概念 有狀態的流式處理

傳統批處理方法是持續收取資料,以時間作為劃分多個批次的依據,再周期性地執行批次運算。但假設需要計算每小時出現事件轉換的次數,如果事件轉換跨越了所定義的時間劃分,跨越了批次的時間邊界,傳統批處理會將中介運算結果帶到下乙個批次進行計算 除此之外,當出現接收到的事件順序顛倒情況下,傳統批處理仍會將中介狀態...