Flink核心是一個流式的資料流執行引擎,其針對資料流的分散式運算提供了資料分布、資料通訊以及容錯機制等功能。基於流執行引擎,Flink提供了更高抽象層的API以便您編寫分布式任務。
背景資訊
EMR Flink完全相容開源Flink,相關內容請參見社區文檔。例如:
使用情境
Flink廣泛應用於巨量資料即時化的情境,本文從技術領域和公司專屬應用程式情境進行介紹。
技術領域
從技術領域的角度,Flink主要用於以下情境:
即時ETL(Extract-transform-load)和資料流
即時ETL和資料流的目的是即時地把資料從A點投遞到B點。在投遞的過程中可能添加資料清洗和整合的工作,例如即時構建搜尋系統的索引和即時數倉中的ETL過程等。
即時資料分析
即時資料分析指的是根據營運目標,從未經處理資料中抽取對應資訊並整合的過程。例如,查看每天銷量前10的商品、倉庫平均周轉時間、文檔平均單擊率和推送開啟率等。即時資料分析則是上述過程的即時化,通常在終端體現為即時報表或即時大屏。
事件驅動應用
事件驅動應用是對一系列訂閱事件進行處理或作出響應的系統。事件驅動應用通常需要依賴內部狀態,例如欺詐檢測、風控系統、營運異常檢測系統等。當您的行為觸發某些風險控制點時,系統會捕獲這個事件,並根據您當前和之前的行為進行分析,決定是否對您進行風險控制。
公司專屬應用程式
從公司專屬應用程式的角度,Flink主要用於以下情境:
業務部門:即時風控、即時推薦和搜尋引擎的即時索引構建等。
資料部門:即時數倉、即時報表和即時大屏等。
營運部門:即時監控、即時異常檢測和預警以及全鏈路Debug等。