Flink基礎01-flink簡介

#概念
Flink: 是一個框架和分佈式處理引擎,用於對無界和有界數據流進行狀態計算

#應用場景:
爲什麼選擇Flink
流數據更真實地反映了我們的生活方式
傳統的數據架構是基於有限數據集的
低延遲、高吞吐、結果的準確性和良好的容錯性

行業:
電商和市場營銷:數據報表、廣告投放、業務流程需要
物聯網:傳感器實時數據採集和顯示、實時報警、交通運輸業
電信業:基站流量調配
銀行和金融業:實時結算和通知推送,實時檢測異常行爲

#對比傳統數據處理架構
傳統數據處理架構
事務處理
在這裏插入圖片描述
分析處理
將數據從業務數據庫複製到數倉,再進行分析和查詢
在這裏插入圖片描述
有狀態的流式處理
在這裏插入圖片描述

#流處理的演變
lambda架構
用兩套系統,同時保證低延遲和結果準確

在這裏插入圖片描述
在這裏插入圖片描述

#Flink的主要特點
事件驅動
在這裏插入圖片描述
基於流的世界觀
在Flink的世界觀中,一切都是由流組成的,離線數據時有界的流;
實時數據時一個沒有界限的流:這就是所謂的有界流和無界流
在這裏插入圖片描述
分層API
越頂層越抽象,表達含義越簡明,使用越方便
越底層越具體,表達能力越豐富,使用越靈活
在這裏插入圖片描述
Flink的其他特點
支持事件時間(event-time)和處理時間(processing-time)語義
精確一次(exactly-once)的狀態一致性保證
低延遲,每秒處理數百萬個事件,毫秒級延遲
與衆多常用存儲系統的連接
高可用,動態擴展,實現7*24小時全天候運行
Flink Vs Spark Streaming
流(Stream)和微批(micro-batching)
在這裏插入圖片描述
數據模型
spark採用RDD模型,spark streaming的DStream實際上也就是一組組小批數據的RDD的集合
flink基本數據模型是數據流,以及事件(event)序列
運行時架構
spark是批計算,將DAG劃分爲不同的stage,一個完成後纔可以計算下一個
flink是標準的流執行模式,一個事件在一個節點處理完後可以直接發往下一個節點進行處理

附思維導圖:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章