- Flink內核原理與實現
- 馮飛 崔鵬云 陳冠華編著
- 389字
- 2021-04-14 11:30:33
第3章 核心抽象
Flink API提供了開發的接口,此外,為了實現業務邏輯,還必須為開發者提供自定義業務邏輯的能力。Flink中設計了用戶自定義函數體系(User Defined Function,UDF),開發人員實現業務邏輯就是開發UDF,為了更加精確清晰地表達概念,本書的后續章節使用UDF來表示用戶自定義函數。
Flink的應用采用流水線的形式,而用戶編寫的UDF表達的是業務邏輯處理,并不關心數據的上下游關系,為了表達上下游的關系,Flink引入了Transformation的概念,Transformation中記錄了上游的數據來源,將用戶處理邏輯組織成流水線。Transformation是一個邏輯概念,并不關心數據的物理來源、序列化、數據轉發等一系列執行時刻的問題,所以在運行時Flink引入了算子,從上游獲取數據、交給UDF執行并將UDF執行結果交給下游,同時還提供了容錯方面的支持。
有了Flink開發接口、函數體系,Flink運行時的體系還有一個比較重要的抽象:環境對象。環境對象提供了開發的入口、配置信息的傳遞等,在作業提交、部署、運行時可以獲取這些配置信息。