前言

Flink项目是大数据计算领域冉冉升起的一颗新星。大数据计算引擎的发展经历了几个过程,从第1代的MapReduce,到第2代基于有向无环图的Tez,第3代基于内存计算的Spark,再到第4代的Flink。因为Flink可以基于Hadoop进行开发和使用,所以Flink并不会取代Hadoop,而是和Hadoop紧密结合。

Flink主要包括DataStream API、DataSet API、Table API、SQL、Graph API和FlinkML等。现在Flink也有自己的生态圈,涉及离线数据处理、实时数据处理、SQL操作、图计算和机器学习库等。

本书共分11章,每章的主要内容如下。

第1~2章主要针对Flink的原理组件进行分析,其中包括针对Storm、Spark Streaming和Flink这3个实时计算框架进行对比和分析,以及快速实现Flink的入门案例开发。

第3章主要介绍Flink的安装部署,包含Flink的几种部署模式:本地模式、Standalone模式和YARN模式。本章主要针对YARN模式进行了详细分析,因为在实际工作中以YARN模式为主,这样可以充分利用现有集群资源。

第4章主要针对DataStream和DataSet中的相关组件及API进行详细分析,并对Table API和SQL操作进行了基本的分析。

第5~9章主要针对Flink的一些高级特性进行了详细的分析,包含Broadcast、Accumulator、Distributed Cache、State、CheckPoint、StateBackend、SavePoint、Window、Time、Watermark以及Flink中的并行度。

第10章主要介绍常用组件Kafka-Connector,针对Kafka Consumer和Kafka Producer的使用结合具体案例进行分析,并描述了Kafka的容错机制的应用。

第11章介绍Flink在实际工作中的两个应用场景:一个是实时数据清洗(实时ETL),另一个是实时数据报表,通过这两个项目实战可以加深对Flink的理解。

感谢所有在本书编写过程中提出宝贵意见的朋友。作者水平有限,书中如有不足之处还望指出并反馈至邮箱xuwei@xuwei.tech,作者将不胜感激。