内容简介这是一本从使用和定制开发双重视角,循序渐进地讲解Flink的分布式系统架构设计、流计算API设计、时间处理、状态管理等核心技术的原理和实现的著作。它面向Flink的初学者,内容沿着基础知识、实际问题和解决方案这条主线展开,不仅层层剖析了Flink学习中的重点和难点,而且还通过大量案例展示了如何快速获得工程化实践能力。全书共11章,主要内容如下:(1)Flink基础知识(第1、2章)主要介绍了Flink的定位、核心特性、API分类,演示了如何搭建Flink作业的基础环境、如何创建一个Flink项目以及如何开发入门应用程序WordCount,并结合该应用程序说明了常见Flink作业的骨架结构。(2)Flink分布式架构及核心概念(第3章)主要内容包括Flink作业的运行时架构、部署模式、资源提供框架,以及开发 Flink作业时涉及的核心概念,对于后续学习Flink DataStream API和Flink SQL API很有帮助。(3)Flink DataStream API(第4~6章)讲解了Flink DataStream API的核心知识,包括执行环境、数据源、数据简单转换、数据分组与聚合、数据汇等,并讲解了Flink DataStream API中的时间语义、时间窗口、有状态计算和检查点这四大“王*牌武器”的由来与实现原理。(4)Flink有状态流处理API(第7章)Flink DataStream API不能优雅地解决窗口使用不灵活和分流成本高这两个问题,于是Flink提供了有状态流处理API。本章主要讲解了Flink有状态流处理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的语法、函数、参数配置及性能优化方法。