你将获得什么?
- 熟练掌握Flink SQL接口的原理与操作方法;
- 深入理解Flink DataStream API的实践原理;
- 全面剖析Flink Runtime的设计与实现机制;
- 完整构建一个实时推荐数据流系统。
课程简介
目前大部分公司的大数据处理工作,使用的还是离线处理技术,但未来,流式计算必定会成为分布式计算的重要方向之一。如果你想要掌握一门具有前瞻性的流式计算处理技术,Flink必然是你的首选。目前为止,开源界唯一真正同时做到低时延,数据一致性保障以及高吞吐的大数据处理技术,也只有Flink。它可以在毫秒级的延迟情况下,实现每秒钟处理上亿次的消息或者事件。
Flink的上手门槛比较高,API不够直观也不够好用,在不同使用模式下体验也不一致。有了问题,求助社区,得到反馈时间又比较长,这些问题让我们自学起来困难重重。
本课程会通过讲解Flink的核心特性以及实操部署,带你入门Flink。结合三个不同的实战,重点讲解Flink作业的开发与实践技巧,加深掌握。随后对核心原理进行剖析,包括Runtime的设计与实现,常用的监控指标Checkpoint、反压等概念。在课程的最后部分,我会安排一个完整的推荐项目,串联所有知识点进行实战,让你更加游刃有余地使用Flink进行工作开发。
课程目录
第一章:Apache Flink介绍 (5讲)
01 | 课程介绍
02 | 内容综述
03 | 流处理技术概览
04 | Flink发展历史与应用场景
05 | Flink核心特性
第二章:Flink部署与应用 (13讲)
06 | Flink集群架构
07 | Flink集群运行模式
08 | Flink集群资源管理器支持
09 | Standalone原理讲解与实操演示
10 | Flink On Yarn部署讲解
11 | Flink On Yarn实操演示
12 | Flink On Kubernetes部署讲解
13 | Flink On Kubernetes实操:Session模式
14 | Flink On Kubernetes实操:Per-job模式
15 | Flink On Kubernetes Native部署讲解
16 | Flink On Kubernetes Native实操演示
17 | Flink高可用配置原理讲解
18 | Flink高可用配置实操演示
第三章:Flink DataStream API实践原理 (19讲)
19 | 分布式流处理模型
20 | DataStream API 实践原理
21 | Flink 时间概念
22 | Watermark实践原理
23 | Watermark与Window的关系
24 | Watermark Generator
25 | Windows窗口计算
26 | Window Assigner
27 | Window Trigger
28 | Window Evictors
29 | Window Function
30 | Windows多流合并
31 | Process Function应用
32 | SideOutput旁路输出
33 | Asynchronous I/O异步操作
34 | Pipeline与StreamGraph转换
35 | Flink类型系统
36 | 自定义SourceFunction
37 | 项目实战:基于DataStream API实现PV,UV统计
第四章:Flink状态管理和容错 (13讲)
38 | 有状态计算概念
39 | 状态类型及应用
40 | KeyedState介绍与使用
41 | OperatorState介绍与使用
42 | BroadcastState介绍与使用
43 | Checkpoint实现原理
44 | Savepoint与Checkpoint
45 | StateBackends状态管理器
46 | State Schema Evolution
47 | State序列化与反序列化
48 | Queryable State介绍与使用
49|项目实战:实时交易反欺诈项目介绍
50|项目实战:实时交易反欺诈项目演示
第五章:Flink Table & SQL实践原理 (19讲)
51|Flink Table API/SQL介绍与使用
52|Table API/SQL核心概念
53|DataStream & DataSet 与Table相互转换
54|Table Connector介绍与使用
55|Querying Dynamic Tables
56|TimeStamp与Watermark时间属性定义
57|Query With Temporal Condition
58|Join With Dynamic Table
59|Join With Temporal Function
60|Join With Temporal Tables
61|Catalog原理与使用
62|Apache Hive集成
63|SQL Client介绍与使用
64|Flink SQL Table数据类型
65|自定义Function
66|Table Connector使用
67|自定义Connector
68|new tablesource & tablesink api
69|项目实战:基于Flink SQL实现Top10商品统计
第六章:Flink Runtime设计与实现 (11讲)
70|Runtime整体架构
71|Flink Client实现原理
72|ResourceManager资源管理
73|Dispatcher任务分发器
74|JobGraph提交与运行(上)
75|JobGraph提交与运行(下)
76|Task执行与调度
77|Task重启和容错策略
78|集群组件RPC通信机制
79|NetworkStatck实现原理
80|Flink内存管理
第七章:Flink监控与性能优化 (5讲)
81|Metric指标分类与采集
82|Flink REST API介绍与使用
83|Checkpoint监控与调优
84|反压监控与原理
85|Flink内存配置与调优
第八章:Flink组件栈介绍与使用 (4讲)
86|PyFlink实践与应用
87|Flink复杂事件处理:Complex event process
88|Alink机器学习框架介绍与使用
89|Stateful Function介绍与使用
第九章:项目实战-使用Flink构建推荐系统实时数据流 (2讲)
90|实时推荐系统项目设计与实现
91|结束语
讲师介绍
张利兵,第四范式数据中台架构师,Apache Flink的贡献者,《Flink原理、实战与性能优化》的作者。
张利兵老师在大数据领域深耕了7年之久,曾主导某国企银行实时风控平台的产品研发和部署,带领团队进行某轨道行业实时运维智能平台的架构与研发工作。在大数据领域拥有非常丰富的工作经验,对Hadoop、Spark、Flink、机器学习等大数据技术有着深入的了解。张利兵老师同是也获得了Cloudera CCAH认证,Cloudera SEBC认证以及Cloudera认证讲师,拥有非常丰富的授课经验。