Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > 大数据云计算 >

Flink原理与实践 鲁蔚征 PDF 下载


分享到:
时间:2022-04-25 09:24来源:http://www.java1234.com 作者:转载  侵权举报
本书围绕大数据流处理领域,介绍Flink DataStream API、时间和窗口、状态和检查点、Table API和SQL等知识。本书以实践为导向,使用大量真实业务场景案例来演示如何基于Flink进行流处理。
失效链接处理
Flink原理与实践 鲁蔚征  PDF 下载

下载地址:
版权归出版社和原作者所有,链接已删除,请购买正版

用户下载说明:

电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/1072748367.html

相关截图:


 

资料简介:

本书围绕大数据流处理领域,介绍Flink DataStream API、时间和窗口、状态和检查点、Table API和SQL等知识。本书以实践为导向,使用大量真实业务场景案例来演示如何基于Flink进行流处理。
 
本书主要面向对大数据领域感兴趣的本科生、研究生,想转行到大数据开发行业的在职人员,或有一定大数据开发经验的相关从业人员。读者*好有一定的Java或Scala编程基础,掌握计算机领域的常见技术概念。

资料目录:

第 1章 大数据技术概述 ................ 1
 
1.1 什么是大数据 ................................. 2
 
1.1.1 大数据的5个“V” ....................... 2
 
1.1.2 大数据分而治之 ............................... 3
 
1.2 从批处理到流处理 .......................... 6
 
1.2.1 数据与数据流 ................................... 6
 
1.2.2 批处理与流处理 ............................... 7
 
1.2.3 为什么需要一个优秀的
 
流处理框架 ........................................ 7
 
1.3 代表性大数据技术 .......................... 9
 
1.3.1 Hadoop ............................................ 9
 
1.3.2 Spark ............................................... 10
 
1.3.3 Apache Kafka ............................... 11
 
1.3.4 Flink ................................................. 12
 
1.4 从Lambda到Kappa:
 
大数据处理平台的演进 .................. 13
 
1.4.1 Lambda架构 ................................ 14
 
1.4.2 Kappa架构 .................................... 15
 
1.5 流处理基础概念 ........................... 16
 
1.5.1 延迟和吞吐 ..................................... 16
 
1.5.2 窗口与时间 ..................................... 17
 
1.5.3 状态与检查点 ................................. 20
 
1.5.4 数据一致性保障 ............................. 21
 
1.6 编程语言的选择 ........................... 21
 
1.6.1 Java和Scala ................................. 21
 
1.6.2 Python ............................................ 22
 
1.6.3 SQL .................................................. 23
 
1.7 案例实战 使用Kafka构建
 
文本数据流 .................................. 23
 
1.7.1 Kafka和消息队列相关
 
背景知识 ..........................................23
 
1.7.2 使用Kafka构建一个
 
文本数据流 ......................................24
 
本章小结 ............................................. 26
 
第 2章 大数据编程知识 ...... 27
 
2.1 继承和多态 .................................. 28
 
2.1.1 继承、类和接口 .............................28
 
2.1.2 重写与重载 .....................................30
 
2.1.3 继承和多态小结 .............................32
 
2.2 泛型 ............................................ 32
 
2.2.1 Java中的泛型 ................................32
 
2.2.2 Scala中的泛型 ..............................35
 
2.2.3 泛型小结 .........................................36
 
2.3 函数式编程 .................................. 36
 
2.3.1 函数式编程思想简介 .....................36
 
2.3.2 Lambda表达式的内部结构 ........37
 
2.3.3 函数式接口 .....................................38
 
2.3.4 Java Stream API ...........................40
 
2.3.5 函数式编程小结 .............................41
 
2.4 案例实战 Flink开发环境搭建 ........ 42
 
2.4.1 准备所需软件 .................................42
 
2.4.2 下载并安装Flink ...........................43
 
2.4.3 创建Flink工程 ..............................43
 
2.4.4 调试和运行Flink程序 ..................48
 
2.4.5 运行程序 .........................................50
 
Flink原理与实践
 
本章小结 ............................................. 53
 
第3章 Flink的设计与
 
运行原理 ........................... 54
 
3.1 Flink数据流图简介 ....................... 55
 
3.1.1 Flink程序和数据流图 .................. 55
 
3.1.2 从逻辑视图转化为物理执行图 .... 57
 
3.1.3 数据交换策略 ................................. 58
 
3.2 Flink分布式架构与核心组件 .......... 59
 
3.2.1 Flink作业提交过程....................... 59
 
3.2.2 Flink核心组件 ............................... 60
 
3.2.3 Flink组件栈 ................................... 61
 
3.3 任务执行与资源划分 ..................... 63
 
3.3.1 再谈逻辑视图到物理执行图 ........ 63
 
3.3.2 任务、算子子任务与算子链 ........ 64
 
3.3.3 Slot与计算资源 ............................ 65
 
3.4 实验WordCount程序
 
迭代和完善 .................................. 67
 
一、实验目的 .............................................. 67
 
二、实验内容 .............................................. 67
 
三、实验要求 .............................................. 68
 
四、实验报告 .............................................. 68
 
本章小结 ............................................. 68
 
第4章 DataStream API的
 
介绍和使用 ....................... 70
 
4.1 Flink程序的骨架结构 ................... 71
 
4.1.1 设置执行环境 ................................. 71
 
4.1.2 读取数据源 ..................................... 72
 
4.1.3 进行转换操作 ................................. 72
 
4.1.4 结果输出 ......................................... 73
 
4.1.5 执行 ..................................................73
 
4.2 常见Transformation的
 
使用方法 ..................................... 73
 
4.2.1 单数据流基本转换 .........................74
 
4.2.2 基于Key的分组转换 ....................78
 
4.2.3 多数据流转换 .................................84
 
4.2.4 并行度与数据重分布 .....................86
 
4.3 数据类型和序列化 ........................ 92
 
4.3.1 Flink支持的数据类型 ...................92
 
4.3.2 TypeInformation .........................96
 
4.3.3 注册类 ..............................................98
 
4.3.4 Avro、Kryo、Thrift和
 
Protobuf .........................................99
 
4.3.5 数据类型的选择 .......................... 103
 
4.4 用户自定义函数 .......................... 104
 
4.4.1 接口 ............................................... 104
 
4.4.2 Lambda表达式 .......................... 105
 
4.4.3 Rich函数类 ................................. 108
 
4.5 实验 股票价格数据流处理 ........... 109
 
一、实验目的 ............................................ 109
 
二、实验内容 ............................................ 110
 
三、实验要求 ............................................ 111
 
四、实验报告 ............................................ 112
 
本章小结 ........................................... 112
 
第5章 时间和窗口 .................... 113
 
5.1 Flink的时间语义 ........................ 114
 
5.1.1 Flink的3种时间语义 ............... 114
 
5.1.2 设置时间语义 .............................. 115
 
5.1.3 Event Time和Watermark ..... 116
 
5.1.4 分布式环境下Watermark的
 
传播 ................................................ 116
 
5.1.5 设置时间戳及生成
 
Watermark .................................. 118
 
5.1.6 平衡延迟和准确性 ..................... 123
 
5.2 ProcessFunction系列函数 ........ 123
 
5.2.1 Timer的使用方法 ...................... 123
 
5.2.2 侧输出 .......................................... 126
 
5.2.3 在两个数据流上使用
 
ProcessFunction ....................... 127
 
5.3 窗口算子的使用 .......................... 129
 
5.3.1 窗口程序的骨架结构 ................. 129
 
5.3.2 内置的3种窗口划分方法 ......... 131
 
5.3.3 窗口处理函数 .............................. 135
 
5.3.4 拓展和自定义窗口 ..................... 141
 
5.4 双流连接 ................................... 146
 
5.4.1 Window Join ............................. 146
 
5.4.2 Interval Join ............................... 149
 
5.5 处理迟到数据 ............................. 150
 
5.5.1 将迟到数据发送到另外一个
 
数据流 ........................................... 151
 
5.5.2 更新计算结果 .............................. 151
 
5.6 实验 股票价格数据进阶分析 ........ 153
 
一、实验目的 ........................................... 153
 
二、实验内容 ........................................... 153
 
三、实验要求 ........................................... 154
 
四、实验报告 ........................................... 154
 
本章小结 ........................................... 154
 
第6章 状态和检查点 ................ 155
 
6.1 实现有状态的计算 ...................... 156
 
6.1.1 为什么要管理状态 ..................... 156
 
6.1.2 Flink中几种常用的状态 ........... 157
 
6.1.3 横向扩展问题 .............................. 159
 
6.1.4 Keyed State的使用方法 .......... 160
 
6.1.5 Operator List State的
 
使用方法 ....................................... 165
 
6.1.6 BroadcastState的使用方法 .... 169
 
6.2 Checkpoint机制的原理及
 
配置方法 ................................... 173
 
6.2.1 Flink分布式快照流程 ................ 173
 
6.2.2 分布式快照性能优化方案 ......... 177
 
6.2.3 State Backend ........................... 177
 
6.2.4 Checkpoint相关配置 ............... 179
 
6.2.5 重启恢复流程 .............................. 180
 
6.3 Savepoint机制的原理及
 
使用方法 ................................... 182
 
6.3.1 Savepoint机制与Checkpoint
 
机制的区别 ................................... 182
 
6.3.2 Savepoint的使用方法 ............. 183
 
6.3.3 读/写Savepoint中的数据 ...... 184
 
6.3.4 Queryable State和
 
State Processor API ................... 194
 
6.4 实验 电商平台用户行为分析 ........ 195
 
一、实验目的 ............................................ 195
 
二、实验内容 ............................................ 195
 
三、实验要求 ............................................ 195
 
四、实验报告 ............................................ 195
 
本章小结 ........................................... 195
 
第7章 Flink连接器 ................ 196
 
7.1 Flink端到端的
 
Exactly-Once保障 ................... 197
 
7.1.1 故障恢复与一致性保障 ............. 197
 
7.1.2 幂等写 ........................................... 198
 
7.1.3 事务写 ........................................... 199
 
7.2 自定义Source和Sink ............... 200
 
7.2.1 Flink 1.11之前的Source ........ 200
 
7.2.2 Flink 1.11之后的Source ........ 205
 
Flink原理与实践
 
7.2.3 自定义Sink ................................. 205
 
7.3 Flink中常用的Connector .......... 211
 
7.3.1 内置I/O接口 .............................. 212
 
7.3.2 Flink Kafka Connector ........... 217
 
7.4 实验 读取并输出股票价格
 
数据流 ...................................... 220
 
一、实验目的 ........................................... 220
 
二、实验内容 ........................................... 220
 
三、实验要求 ........................................... 220
 
四、实验报告 ........................................... 221
 
本章小结 ........................................... 221
 
第8章 Table API & SQL的
 
介绍和使用 ..................... 222
 
8.1 Table API & SQL综述 .............. 223
 
8.1.1 Table API & SQL程序的
 
骨架结构 ....................................... 223
 
8.1.2 创建TableEnvironment .......... 224
 
8.1.3 获取表 .......................................... 227
 
8.1.4 在表上执行语句 .......................... 228
 
8.1.5 将表结果输出 .............................. 229
 
8.1.6 执行作业 ...................................... 229
 
8.1.7 获取表的具体方式 ..................... 231
 
8.2 动态表和持续查询 ...................... 233
 
8.2.1 动态表和持续查询 ..................... 233
 
8.2.2 流处理的限制 .............................. 237
 
8.2.3 状态过期时间 .............................. 238
 
8.3 时间和窗口 ................................ 238
 
8.3.1 时间属性 ...................................... 238
 
8.3.2 窗口聚合 ...................................... 241
 
8.4 Join .......................................... 249
 
8.4.1 时间窗口 Join ............................ 250
 
8.4.2 临时表 Join ................................ 251
 
8.4.3 传统意义上的Join ..................... 254
 
8.5 SQL DDL ................................. 256
 
8.5.1 注册和获取表 .............................. 256
 
8.5.2 USE和SHOW语句 .................. 258
 
8.5.3 CREATE、DROP、
 
ALTER语句 .................................. 259
 
8.5.4 INSERT语句 ............................... 262
 
8.6 系统内置函数 ............................. 263
 
8.6.1 标量函数 ...................................... 264
 
8.6.2 聚合函数 ...................................... 269
 
8.6.3 时间单位 ...................................... 269
 
8.7 用户自定义函数 .......................... 270
 
8.7.1 注册函数 ...................................... 270
 
8.7.2 标量函数 ...................................... 270
 
8.7.3 表函数 ........................................... 272
 
8.7.4 聚合函数 ...................................... 274
 
8.8 实验 使用Flink SQL处理
 
IoT数据 .................................... 277
 
一、实验目的 ............................................ 277
 
二、实验内容 ............................................ 277
 
三、实验要求 ............................................ 278
 
四、实验报告 ............................................ 279
 
本章小结 ........................................... 279
 
第9章 Flink的部署和配置 .... 280
 
9.1 Flink集群部署模式 ..................... 281
 
9.1.1 Standalone集群 ....................... 281
 
9.1.2 Hadoop YARN集群 ................. 282
 
9.1.3 Kubernetes集群 ....................... 285
 
9.2 配置文件 ................................... 287
 
9.2.1 Java和类加载 ............................. 288
 
9.2.2 并行度与槽位划分 ...................... 289
 
9.2.3 内存 .............................................. 290
 
9.2.4 磁盘 .............................................. 294
 
9.3 算子链与槽位共享 ...................... 294
 
9.3.1 设置算子链 .................................. 294
 
9.3.2 设置槽位共享 .............................. 295
 
9.4 命令行工具 ................................ 296
 
9.4.1 提交作业 ...................................... 297
 
9.4.2 管理作业 ...................................... 298
 
9.5 与Hadoop集成 ........................ 299
 
9.5.1 添加Hadoop Classpath ......... 299
 
9.5.2 将Hadoop依赖包添加到
 
9.5.3 本地调试 ...................................... 300
 
9.6 实验 作业编码、打包与提交 ........ 301
 
一、实验目的 ............................................ 301
 
二、实验内容 ............................................ 301
 
三、实验要求 ............................................ 301
 
四、实验报告 ............................................ 301
 
本章小结 ........................................... 301
 
参考文献 ......................................... 302
------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐