作品简介
本书既讲解了Flink的入门、安装、流计算开发入门、类型和序列化系统、监控运维、安全管理配置等基础知识,又讲解了Flink的时间概念、Window的实现原理及其代码解析,Flink的容错机制原理,Flink容错的关键设计、代码实现分析,Flink Job从源码到执行整个过程的解析,Flink Job的调度策略、资源管理策略、内存管理、数据交换的关键设计和代码实现分析,Flink的RPC通信框架等深度内容。
本书适合对实时计算感兴趣的大数据开发、运维领域的从业人员阅读,此外对机器学习工程技术人员也有所帮助。
冯飞,有10余年IT研发经验,专注于大数据相关技术领域,持续跟踪研究大数据计算引擎的理论模型及其演进,深入研读Flink、Apache Beam、Spark等的源码,尤其精通Flink。从事批流AI融合的新一代数据仓库设计、研发等工作。
崔鹏云,毕业于北京邮电大学,获硕士学位,曾在MicroSoft和Teradata国外知名企业的研发中心供职9年,有15年的企业级数据仓库和在线分析技术应用实战经验,拥有国内外众多TB及PB级大数据客户实时数据处理和分析落地能力。
陈冠华,毕业于北京大学计算机软件与理论专业,获博士学位。2009~2011年在北京大学从事博士后研究工作,研究领域包括大数据内存及实时计算技术、数据仓库、数据挖掘和机器学习等,有超过15年的数据仓库和在线处理技术的学术研究与实践经验。
作品目录
序
前言
第1章 Flink入门
1.1 核心特点
1.2 架构
1.3 Flink的未来
1.4 准备工作
1.5 总结
第2章 Flink应用
2.1 Flink应用开发
2.2 API层次
2.3 数据流
2.4 数据流API
2.5 总结
第3章 核心抽象
3.1 环境对象
3.2 数据流元素
3.3 数据转换
3.4 算子
3.5 函数体系
3.6 数据分区
3.7 连接器
3.8 分布式ID
3.9 总结
第4章 时间与窗口
4.1 时间类型
4.2 窗口类型
4.3 窗口原理与机制
4.4 水印
4.5 时间服务
4.6 窗口实现
4.7 总结
第5章 类型与序列化
5.1 DataStream类型系统
5.2 SQL类型系统
5.3 数据序列化
5.4 总结
第6章 内存管理
6.1 自主内存管理
6.2 内存模型
6.3 内存数据结构
6.4 内存管理器
6.5 网络缓冲器
6.6 总结
第7章 状态原理
7.1 状态类型
7.2 状态描述
7.3 广播状态
7.4 状态接口
7.5 状态存储
7.6 状态持久化
7.7 状态重分布
7.8 状态过期
7.9 总结
第8章 作业提交
8.1 提交流程
8.2 Graph总览
8.3 流图
8.4 作业图
8.5 执行图
8.6 总结
第9章 资源管理
9.1 资源抽象
9.2 资源管理器
9.3 Slot管理器
9.4 SlotProvider
9.5 Slot选择策略
9.6 Slot资源池
9.7 Slot共享
9.8 总结
第10章 作业调度
10.1 调度
10.2 执行模式
10.3 数据交换模式
10.4 作业生命周期
10.5 关键组件
10.6 作业启动
10.7 作业停止
10.8 作业失败调度
10.9 组件容错
10.10 总结
第11章 作业执行
11.1 作业执行图
11.2 核心对象
11.3 Task执行
11.4 总结
第12章 数据交换
12.1 数据传递模式
12.2 关键组件
12.3 数据传递
12.4 数据传递过程
12.5 网络通信
12.6 总结
第13章 应用容错
13.1 容错保证语义
13.2 检查点与保存点
13.3 作业恢复
13.4 关键组件
13.5 轻量级异步分布式快照
13.6 检查点执行过程
13.7 检查点恢复过程
13.8 端到端严格一次
13.9 总结
第14章 Flink SQL
14.1 Apache Calcite
14.2 动态表
14.3 TableEnvironment
14.4 Table API
14.5 SQL API
14.6 元数据
14.7 数据访问
14.8 SQL函数
14.9 Planner关键抽象
14.10 Blink Planner和Flink Planner对比
14.11 Blink与Calcite关系
14.12 Blink SQL执行过程
14.13 Blink Table API执行过程
14.14 Flink与Calcite的关系
14.15 Flink SQL执行过程
14.16 Flink Table API执行过程
14.17 SQL优化
14.18 Blink优化
14.19 Flink优化
14.20 代码生成
14.21 总结
第15章 运维监控
15.1 监控指标
15.2 指标组
15.3 监控集成
15.4 指标注册中心
15.5 指标查询服务
15.6 延迟跟踪实现原理
15.7 总结
第16章 RPC框架
16.1 Akka简介
16.2 RPC消息的类型
16.3 RPC通信组件
16.4 RPC交互过程
16.5 总结
专家寄语
参考文献
载入中