內容簡介這是一本從使用和定制開發(fā)雙重視角,循序漸進地講解Flink的分布式系統架構設計、流計算API設計、時間處理、狀態(tài)管理等核心技術的原理和實現的著作。它面向Flink的初學者,內容沿著基礎知識、實際問題和解決方案這條主線展開,不僅層層剖析了Flink學習中的重點和難點,而且還通過大量案例展示了如何快速獲得工程化實踐能力。全書共11章,主要內容如下:(1)Flink基礎知識(第1、2章)主要介紹了Flink的定位、核心特性、API分類,演示了如何搭建Flink作業(yè)的基礎環(huán)境、如何創(chuàng)建一個Flink項目以及如何開發(fā)入門應用程序WordCount,并結合該應用程序說明了常見Flink作業(yè)的骨架結構。(2)Flink分布式架構及核心概念(第3章)主要內容包括Flink作業(yè)的運行時架構、部署模式、資源提供框架,以及開發(fā) Flink作業(yè)時涉及的核心概念,對于后續(xù)學習Flink DataStream API和Flink SQL API很有幫助。(3)Flink DataStream API(第4~6章)講解了Flink DataStream API的核心知識,包括執(zhí)行環(huán)境、數據源、數據簡單轉換、數據分組與聚合、數據匯等,并講解了Flink DataStream API中的時間語義、時間窗口、有狀態(tài)計算和檢查點這四大“王*牌武器”的由來與實現原理。(4)Flink有狀態(tài)流處理API(第7章)Flink DataStream API不能優(yōu)雅地解決窗口使用不靈活和分流成本高這兩個問題,于是Flink提供了有狀態(tài)流處理API。本章主要講解了Flink有狀態(tài)流處理API解決上述兩個問題的方法。(5)Flink Table API與SQL API(第8~11章)Flink Table API和Flink SQL API的底層原理相同,可以相互轉換,但Flink SQL API更為簡單和常用。這4章分別介紹了Flink Table API、Flink SQL API 的功能,以及使用SQL實現流處理的核心技術,結合大量代碼示例著重介紹了Flink SQL API的語法、函數、參數配置及性能優(yōu)化方法。