为你推荐
封面页
书名页
版权页
内容简介
前言
本书涉及的技术和框架
本书特点
本书读者
源码下载
目录
第1章 Flink环境搭建
1.1 下载安装
1.1.1 什么是Flink
1.1.2 Flink用户
1.1.3 JDK安装
1.1.4 Scala安装
1.1.5 Python安装
1.1.6 FinalShell安装
1.2 配置与开发工具
1.2.1 基础配置
1.2.2 IDEA开发工具
1.3 编译
1.3.1 Scala项目模板
1.3.2 Java项目模板
1.3.3 Python项目
1.3.4 项目编译
1.4 运行Flink应用
1.4.1 单机Standalone模式
1.4.2 多机Standalone模式
1.4.3 On Yarn集群模式
1.5 本章小结
第2章 定义、架构与原理
2.1 流处理的应用场景
2.1.1 数据预处理场景
2.1.2 预警场景
2.1.3 实时数量统计场景
2.1.4 数据库交互场景
2.1.5 跟踪场景
2.1.6 基于数据流的机器学习场景
2.1.7 实时自动控制场景
2.2 流处理的原理
2.2.1 流数据特征
2.2.2 Dataflow模型
2.2.3 数据流图
2.2.4 流处理操作
2.2.5 窗口操作
2.3 Flink架构分析
2.3.1 Flink常见概念
2.3.2 Flink主从架构
2.3.3 任务和算子链
2.4 Flink中的几个语义——Streams、State、Time、API
2.4.1 Streams流
2.4.2 State状态
2.4.3 Time时间
2.4.4 API接口
2.5 Flink组件
2.6 本章小结
第3章 时间和窗口
3.1 时间
3.1.1 Flink中的时间
3.1.2 时间的特性
3.2 Timestamp和Watermark
3.2.1 在SourceFunction中生成
3.2.2 在assignTimestampsAndWatermarks中生成
3.2.3 Watermarks传播机制
3.3 EventTime+Watermark解决乱序数据
3.3.1 无迟到的乱序数据
3.3.2 有迟到的乱序数据
3.4 WindowAssigner、Evictor以及Trigger
3.4.1 WindowAssigner
3.4.2 Trigger
3.4.3 Evictor
3.5 Window内部实现
3.5.1 Flink Window源码分析
3.5.2 Flink Window执行过程
3.6 Window使用
3.6.1 Time Window
3.6.2 Count Window
3.6.3 Session Window
3.6.4 自定义Window
3.7 Window聚合分类
3.7.1 增量聚合
3.7.2 全量聚合
3.8 本章小结
第4章 状态管理及容错机制
4.1 什么是状态
4.2 什么场景会用到状态
4.3 状态的类型与使用
4.3.1 Keyed State托管状态
4.3.2 Operator State托管状态
4.4 Checkpoint机制
4.4.1 Checkpoint配置
4.4.2 State Backends状态后端
4.4.3 重启策略
4.5 SavePoint机制
4.6 本章小结
第5章 数据类型与序列化
5.1 Flink的数据类型
5.1.1 元组类型
5.1.2 Java POJOs类型
5.1.3 Scala样例类
5.1.4 基础类型
5.1.5 普通类
5.1.6 值类型
5.1.7 特殊类型
5.2 序列化原理
5.3 Flink的序列化过程
5.4 序列化的最佳实践
5.5 本章小结
第6章 DataStream API和DataSet API
6.1 DataStream API
6.1.1 DataSources数据输入
6.1.2 DataSteam转换操作
6.1.3 DataSinks数据输出
6.2 DataSet API
6.2.1 DataSources数据输入
6.2.2 DataSet转换操作
6.2.3 DataSinks数据输出
6.3 迭代计算
6.3.1 全量迭代
6.3.2 增量迭代
6.4 广播变量与分布式缓存
6.4.1 广播变量
6.4.2 分布式缓存
6.5 语义注解
6.5.1 Forwarded Fileds注解
6.5.2 Non-Forwarded Fileds注解
6.5.3 Read Fields注解
6.6 本章小结
第7章 Table API和SQL
7.1 TableEnviroment
7.1.1 开发环境构建
7.1.2 TableEnvironment基本操作
7.1.3 外部连接器
7.1.4 时间概念
7.1.5 Temporal Tables时态表
7.2 WordCount
7.3 Table API的操作
7.3.1 获取Table
7.3.2 输出Table
7.3.3 查询Table
7.3.4 聚合操作
7.3.5 多表关联
7.3.6 集合操作
7.3.7 排序操作
7.4 DataStream、DataSet和Table之间的转换
7.4.1 DataStream to Table
7.4.2 DataSet to Table
7.4.3 Table to DataStream
7.4.4 Table to DataSet
7.5 window aggregate与non-window aggregate
7.6 Flink SQL使用
7.6.1 使用SQL CLI客户端
7.6.2 在流上运行SQL查询
7.6.3 Group Windows窗口操作
7.6.4 多表关联
7.6.5 集合操作
7.6.6 去重操作
7.6.7 Top-N操作
7.6.8 数据写入
7.7 自定义函数
7.7.1 Scalar Function
7.7.2 Table Function
7.7.3 Aggregation Function
7.8 本章小结
第8章 并行
8.1 Flink并行度
8.2 TaskManager和Slot
8.3 并行度的设置
8.3.1 执行环境层面
8.3.2 操作算子层面
8.3.3 客户端层面
8.3.4 系统层面
8.3.5 最大并行度
8.4 并行度案例分析
8.5 本章小结
第9章 Flink部署与应用
9.1 Flink集群部署
9.1.1 Standalone Cluster部署
9.1.2 Yarn Cluster部署
9.1.3 Kubernetes Cluster部署
9.2 Flink高可用配置
9.2.1 Standalone集群高可用配置
9.2.2 Yarn Session集群高可用配置
9.3 Flink安全管理
9.3.1 认证目标
9.3.2 认证配置
9.3.3 SSL配置
9.4 Flink集群升级
9.4.1 任务重启
9.4.2 状态维护
9.4.3 版本升级
9.5 本章小结
第10章 Flink项目实战
10.1 实时数据清洗(实时ETL)
10.1.1 需求分析
10.1.2 项目架构设计
10.1.3 项目代码实现
10.2 实时数据报表
10.2.1 需求分析
10.2.2 项目架构设计
10.2.3 项目代码实现
10.3 本章小结
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜