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