在資料劇增的今天,大資料技術也越來越被大家重視,而作為實時流計算的代表性框架之一,flink在近幾年的發展趨勢無疑也是驚人的,一方面是flink社群的活躍度,另一方面是flink在大資料計算上的優異表現,都讓我們知道,flink落地應用的潛力所在。今天我們就主要來了解下flink應用場景分析。
以事件驅動來說,其執行流程:
採集的資料events可以不斷的放入訊息佇列,flink應用會不斷ingest(消費)訊息佇列中的資料,flink應用內部維護著一段時間的資料(state),隔一段時間會將資料持久化儲存(persistent sstorage),防止flink應用死掉。flink應用每接受一條資料,就會處理一條資料,處理之後就會觸發(trigger)乙個動作(action),同時也可以將處理結果寫入外部訊息佇列中,其他flink應用再消費。
典型的事件驅動類應用,包括欺詐檢測(fraud detection)、異常檢測(anomaly detection)、基於規則的告警(rule-based alerting)、業務流程監控(business process monitoring)、web應用程式(社交網路)等。
而資料分析應用,包含batch analytics(批處理分析)和streaming analytics(流處理分析)。
批處理分析,可以理解為週期性查詢:比如flink應用凌晨從recorded events中讀取昨天的資料,然後做週期查詢運算,最後將資料寫入database或者hdfs,或者直接將資料生成報表供公司上層領導決策使用。
流處理分析,可以理解為連續性查詢:比如實時展示雙十一天貓銷售gmv,使用者下單資料需要實時寫入訊息佇列,flink應用源源不斷讀取資料做實時計算,然後不斷的將資料更新至database或者k-vstore,最後做大屏實時展示。
而資料管道etl,包含periodic(週期性)etl和data pipeline(管道)。
週期性的任務處理,比如每天凌晨週期性的啟動乙個flink etl job,讀取傳統資料庫中的資料,然後做etl,最後寫入資料庫和檔案系統。
資料管道任務,比如啟動乙個flink實時應用,資料來源(比如資料庫、kafka)中的資料不斷的通過flink data pipeline流入或者追加到資料倉儲(資料庫或者檔案系統),或者kafka訊息佇列。
總體來說,flink落地應用的場景還是比較廣泛的,在國內阿里系的平台對於flink的應用很多,各種廣告推薦系統、業務監控系統的背後,都涉及到到flink落地應用,大家如果感興趣的可以多去研究研究,也歡迎各位朋友相關關注討論dt最新技術。
Flink基本原理及應用場景
flink spark streaming storm storm trient都可以進行實時計算,但各有特點。在大資料處理領域,批處理任務和流處理任務一般被認為是兩種不同的任務,乙個大資料框架一般會被設計為只能處理其中一種任務 例如storm只支援流處理任務,而mapreduce spark只支援...
SSIS典型應用場景分析
ssis 提供一系列支援業務應用程式開發的內建任務 容器 轉換和資料介面卡,方便我們建立解決方案來解決複雜的業務問題,除了可以管理 sql server 資料庫以及在 sql server 例項之間複製 sql server 物件,我們還可以對oracle mysql excel等不同的異構資料來源...
SSIS典型應用場景分析
ssis 提供一系列支援業務應用程式開發的內建任務 容器 轉換和資料介面卡,方便我們建立解決方案來解決複雜的業務問題,除了可以管理 sql server 資料庫以及在 sql server 例項之間複製 sql server 物件,我們還可以對oracle mysql excel等不同的異構資料來源...