Flink是大数据处理领域*近冉冉升起的一颗新星,它可以基于Hadoop进行开发和使用,与Hadoop紧密结合。本书旨在帮助读者从零开始快速掌握Flink的基本原理与核心功能,并具有以下特点: 1.这是一本Flink入门级图书,力求详细而完整地描述Flink基础理论与实际操作。 2.采用Flink 1.6版本写作,案例丰富实用,做到学以致用。 3.细节与案例兼顾,深入浅出展现Flink技术精髓。 4.51CTO热门网课配套教材,可与网课结合学习,快速提升大数据开发技能。
本书旨在帮助读者从零开始快速掌握Flink的基本原理与核心功能。本书首先介绍了Flink的基本原理和安装部署,并对Flink中的一些核心API进行了详细分析。然后配套对应的案例分析,分别使用Java代码和Scala代码实现案例。*后通过两个项目演示了Flink在实际工作中的一些应用场景,帮助读者快速掌握Flink开发。 学习本书需要大家具备一些大数据的基础知识,比如Hadoop、Kafka、Redis、Elasticsearch等框架的基本安装和使用。本书也适合对大数据实时计算感兴趣的读者阅读。 学习本书需要大家具备一些大数据的基础知识,例如Hadoop、Kafka、Redis、Elasticsearch等框架的基本安装和使用。本书也适合对大数据实时计算感兴趣的爱好者阅读。
目录
- 第 1章 Flink概述 1
- 1.1 Flink原理分析 1
- 1.2 Flink架构分析 2
- 1.3 Flink基本组件 3
- 1.4 Flink流处理(Streaming)与批处理(Batch) 4
- 1.5 Flink典型应用场景分析 5
- 1.6 流式计算框架对比 6
- 1.7 工作中如何选择实时计算框架 8
- 第 2章 Flink快速入门 9
- 2.1 Flink开发环境分析 9
- 2.1.1 开发工具推荐 9
- 2.1.2 Flink程序依赖配置 10
- 2.2 Flink程序开发步骤 11
- 2.3 Flink流处理(Streaming)案例开发 11
- 2.3.1 Java代码开发 12
- 2.3.2 Scala代码开发 14
- 2.3.3 执行程序 16
- 2.4 Flink批处理(Batch)案例开发 16
- 2.4.1 Java代码开发 16
- 2.4.2 Scala代码开发 18
- 2.4.3 执行程序 19
- 第3章 Flink的安装和部署 20
- 3.1 Flink本地模式 20
- 3.2 Flink集群模式 22
- 3.2.1 Standalone模式 23
- 3.2.2 Flink on Yarn模式 26
- 3.2.3 yarn-session.sh命令分析 30
- 3.2.4 Flink run命令分析 30
- 3.3 Flink代码生成JAR包 31
- 3.4 Flink HA的介绍和使用 35
- 3.4.1 Flink HA 35
- 3.4.2 Flink Standalone集群的HA安装和配置 35
- 3.4.3 Flink on Yarn集群HA的安装和配置 50
- 3.5 Flink Scala Shell 53
- 第4章 Flink常用API详解 56
- 4.1 Flink API的抽象级别分析 56
- 4.2 Flink DataStream的常用API 57
- 4.2.1 DataSource 57
- 4.2.2 Transformation 66
- 4.2.3 Sink 70
- 4.3 Flink DataSet的常用API分析 80
- 4.3.1 DataSource 80
- 4.3.2 Transformation 81
- 4.3.3 Sink 82
- 4.4 Flink Table API和SQL的分析及使用 82
- 4.4.1 Table API和SQL的基本使用 83
- 4.4.2 DataStream、DataSet和Table之间的转换 87
- 4.4.3 Table API和SQL的案例 91
- 4.5 Flink支持的DataType分析 97
- 4.6 Flink序列化分析 97
- 第5章 Flink高级功能的使用 99
- 5.1 Flink Broadcast 99
- 5.2 Flink Accumulator 104
- 5.3 Flink Broadcast和Accumulator的区别 108
- 5.4 Flink Distributed Cache 108
- 第6章 Flink State管理与恢复 112
- 6.1 State 112
- 6.1.1 Keyed State 113
- 6.1.2 Operator State 115
- 6.2 State的容错 116
- 6.3 CheckPoint 118
- 6.4 StateBackend 119
- 6.5 Restart Strategy 121
- 6.6 SavePoint 123
- 第7章 Flink窗口详解 125
- 7.1 Window 125
- 7.2 Window的使用 126
- 7.2.1 Time Window 127
- 7.2.2 Count Window 128
- 7.2.3 自定义Window 129
- 7.3 Window聚合分类 130
- 7.3.1 增量聚合 130
- 7.3.2 全量聚合 132
- 第8章 Flink Time详解 134
- 8.1 Time 134
- 8.2 Flink如何处理乱序数据 135
- 8.2.1 Watermark 136
- 8.2.2 Watermark的生成方式 137
- 8.3 EventTime Watermark解决乱序数据的案例详解 138
- 8.3.1 实现Watermark的相关代码 138
- 8.3.2 通过数据跟踪Watermark的时间 142
- 8.3.3 利用Watermark Window处理乱序数据 149
- 8.3.4 Late Element的处理方式 153
- 8.3.5 在多并行度下的Watermark应用 163
- 8.3.6 With Periodic Watermarks案例总结 165
- 第9章 Flink并行度详解 166
- 9.1 Flink并行度 166
- 9.2 TaskManager和Slot 166
- 9.3 并行度的设置 167
- 9.3.1 并行度设置之Operator Level 168
- 9.3.2 并行度设置之Execution Environment Level 168
- 9.3.3 并行度设置之Client Level 169
- 9.3.4 并行度设置之System Level 169
- 9.4 并行度案例分析 169
- 第 10章 Flink Kafka Connector详解 172
- 10.1 Kafka Connector 172
- 10.2 Kafka Consumer 173
- 10.2.1 Kafka Consumer消费策略设置 173
- 10.2.2 Kafka Consumer的容错 175
- 10.2.3 动态加载Topic 176
- 10.2.4 Kafka Consumer Offset自动提交 177
- 10.3 Kafka Producer 177
- 10.3.1 Kafka Producer的使用 177
- 10.3.2 Kafka Producer的容错 179
- 第 11章 Flink实战项目开发 184
- 11.1 实时数据清洗(实时ETL) 184
- 11.1.1 需求分析 184
- 11.1.2 项目架构设计 184
- 11.1.3 项目代码实现 186
- 11.2 实时数据报表 205
- 11.2.1 需求分析 205
- 11.2.2 项目架构设计 206
- 11.2.3 项目代码实现 207
虽然说全是代码,但是最起码非常简洁,适合入门flink看看
从入门到实践的一本说明书,挺实用,这下我们的项目可以相对放心的使用了