Apache Flink作为一款高吞吐量、低延迟的针对流数据和批数据的分布式实时处理引擎,是当前实时处理领域的一颗炙手可热的新星。
对于一个大数据人才来说,Flink是一个非常好的工具,也是他们升职加薪的敲门砖。不过怎样快速从入门到精通掌握Flink呢?接下来给大家推荐的干货教程,绝对会让你眼前一亮!
课程介绍
本课程涵盖Flink概念、Flink介绍、初识Flink代码开发、Flink集群部署&运行时架构、Flink流处理API、Flink Connector、Flink高级特性、Flink window和time操作、Flink Tale API & SQL、Flink CEP等知识点。该套课程深度剖析了时下热门的流处理框架之Flink ,你值得拥有。
学习目标
学完完全掌握Flink批处理和流处理、掌握时间和窗口计算、掌握Flink常用的Connector、掌握延迟数据处理之WaterMark水位线机制、掌握Flink状态管理和容错机制、掌握Flink的部署模式和高可用配置等。
课程目录
第1章-Flink介绍、初识Flink代码开发 |
1.01 讲师个人介绍 |
1.02 Flink课程内容概述 |
1.03 Flink前世今生 |
1.04 Flink定义 |
1.05 Flink在全球的热度 |
1.06 Flink在国内企业中的应用 |
1.07 为什么选择Flink |
1.08 哪些行业需要处理流式数据 |
1.09 传统数据处理结构之事务处理 |
1.10 传统数据处理结构之分析处理 |
1.11 Flink中有状态的流式处理 |
1.12 流处理演变之Lamda架构 |
1.13 流处理技术的演变 |
1.14 Flink的主要特点之事件驱动型应用 |
1.15 Flink的主要特点之基于流的世界观 |
1.16 Flink的主要特点之分层API |
1.17 Flink的其他特点 |
1.18 Flink vs Spark Streaming特点概述 |
1.19 Flink & Spark Streaming之数据模型以及运行时架构对比说明 |
1.20 Flink的应用场景之数据分析应用 |
1.21 Flink的应用场景之数据管道应用 |
1.22 Flink之前版本(<1.9.0)的架构图 |
1.23 Flink当前版本(≥1.9.0)的架构图 |
1.24 Flink中的流处理与批处理 |
1.25 Flink项目相关的maven依赖详解 |
1.26 初识Flink代码开发之pom依赖 |
1.27 有界流开发业务分解 |
1.28 有界流开发之代码轮廓搭建 |
1.29 有界流开发详解以及效果演示 |
1.30 有界流开发总结 |
第2章-初识Flink代码开发、Flink集群部署以及运行时架构 |
2.31 上堂课知识点回顾 |
2.32 WordCount案例之源在本地目的地在hdfs前期准备 |
2.33 WordCount案例之源在本地目的地在hdfs核心代码书写以及效果演示 |
2.34 WordCount案例之源在本地目的地在hdfs总结 |
2.35 WordCount案例之源在hdfs目的地在本地核心代码书写以及效果演示 |
2.36 WordCount案例之源在hdfs目的地在本地总结 |
2.37 WordCount案例之源在hdfs目的地在hdfs核心代码书写以及效果演示 |
2.38 WordCount案例之源在hdfs目的地在hdfs总结 |
2.39 WordCount案例之代码优化以及效果演示 |
2.40 WordCount案例之代码优化总结 |
2.41 无界流之WordCount案例说明 |
2.42 无界流之WordCount案例源码以及效果演示 |
2.43 无界流之WordCount案例总结 |
2.44 无界流之WordCount案例优化以及效果演示 |
2.45 无界流之WordCount案例总结 |
2.46 Flink应用部署模式介绍 |
2.47 Flink应用部署之local模式实操 |
2.48 Flink应用部署之local模式实操Ⅱ |
2.49 Flink应用部署之local模式实操Ⅲ |
2.50 Flink应用部署local模式之命令行方式总结 |
2.51 Flink应用部署local模式之可视化部署方式说明 |
2.52 Flink应用部署local模式之可视化部署方式演示 |
2.53 Flink应用部署local模式之可视化部署方式总结 |
2.54 Flink应用部署之standalone方式说明 |
2.55 Flink分布式集群搭建实操 |
2.56 Flink分布式集群搭建总结 |
2.57 flink应用部署到Flink分布式集群之命令行方式实操 |
2.58 flink应用部署到Flink分布式集群之命令行方式总结 |
2.59 flink应用部署到Flink分布式集群之可视化方式演示 |
2.60 flink应用部署到Flink分布式集群之可视化方式总结 |
第3章-Flink集群部署以及运行时架构 |
3.61 上堂课知识点回顾 |
3.62 Standalone模式任务调度原理 |
3.63 Flink Standalone HA说明 |
3.64 Flink Standalone HA实操 |
3.65 Flink Standalone HA验证 |
3.66 Flink Standalone HA总结1 |
3.67 Flink Standalone HA总结2 |
3.68 Flink应用部署模式之Flink On Yarn介绍 |
3.69 Flink On Yarn两种具体实现方式之session、per job详解 |
3.70 session方式实操 |
3.71 上午知识点回顾 |
3.72 将Flink应用部署到session中实操 |
3.73 将Flink应用部署到session中总结 |
3.74 session部署方式集群的停止 |
3.75 Per Job方式介绍 |
3.76 Per Job方式实操 |
3.77 Per Job方式总结 |
3.78 Flink On Yarn内部实现 |
3.79 Flink On Yarn内部实现之类比说明 |
3.80 JobManager进程的HA介绍 |
3.81 JobManager进程的HA介绍 |
3.82 JobManager进程的HA实操1 |
3.83 JobManager进程的HA实操2 |
3.84 JobManager进程的HA最终效果演示 |
第4章-Flink运行时架构以及Flink流处理API |
4.085 上堂课知识点回顾 |
4.086 Flink On Yarn模式之运行时组件 |
4.087 Flink运行时组件之作业管理器JobManager |
4.088 Flink运行时的组件之任务管理器TaskManager |
4.089 Flink运行时的组件之资源管理器ResourceManager |
4.090 Flink运行时的组件之分发器Dispatcher |
4.091 从高层级的视角详解任务提交流程 |
4.092 Flink On Yarn任务提交流程总结 |
4.093 TaskManager和Slots |
4.094 TaskManager和Slots深度剖析 |
4.095 Flink应用并行度的设置 |
4.096 程序与数据流 |
4.097 程序与数据流详解 |
4.098 DataFlow中的Oprator与程序中的Transformation关系实操 |
4.099 ataFlow中的Oprator与程序中的Transformation关系总结 |
4.100 堂课知识点回顾 |
4.101 执行图 |
4.102 执行图四层详解 |
4.103 并行度 |
4.104 并行度图解 |
4.105 Stream在算子之间传输数据的形式 |
4.106 任务链Oprator Chain |
4.107 任务链Oprator Chain实操以及总结 |
4.108 任务链生成图解 |
4.109 使用无界流API进行离线计算实操 |
4.110 使用无界流API进行离线计算总结 |
4.111 Flink 流处理API之Enviroment |
4.112 DataStream API概述 |
4.113 DataSet API概述 |
4.114 DataStream Source API之从集合中读取数据实操 |
4.115 DataStream Source API之从集合中读取数据总结 |
第5章-Flink流处理API |
5.116 上堂课知识点回顾1 |
5.117 上堂课知识点回顾2 |
5.118 Source案例之从文件读取数据实操 |
5.119 Source案例之从文件读取数据总结 |
5.120 以kafka消息队列中的数据作为来源介绍 |
5.121 以kafka消息队列中的数据作为来源案例之前期准备 |
5.122 以kafka消息队列中的数据作为Source案例实操 |
5.123 以kafka消息队列中的数据作为Source案例效果演示以及总结 |
5.124 自定义Source介绍 |
5.125 自定义Source实操之代码轮廓搭建 |
5.126 SourceFunction自定义子类核心源码书写以及效果演示 |
5.127 自定义Source案例总结 |
5.128 DataStream Transformation API之map、flatMap、filter和keyBy介绍 |
第6章-Flink流处理API |
6.129 上堂课知识点回顾 |
6.130 Flink流处理API Transformation之滚动聚合算子实操 |
6.131 Flink流处理API Transformation之滚动聚合算子max总结 |
6.132 Flink流处理API Transformation之滚动聚合算子max注意点说明 |
6.133 Transformation之滚动聚合算子max使用方案1进行优化 |
6.134 Transformation之滚动聚合算子maxBy对max案例进行优化 |
6.135 Transformation算子之reduce介绍 |
6.136 Transformation算子之reduce案例演示 |
6.137 Transformation算子之reduce案例总结 |
6.138 Transformation算子之split、select介绍 |
6.139 Transformation算子之split、select案例涉及业务阐述 |
6.140 Transformation算子之split、select案例实操 |
6.141 Transformation算子之split、select案例总结 |
6.142 关于过时的api |
6.143 使用侧输出流优化split、select案例实操 |
6.144 使用侧输出流优化split、select案例最终效果演示 |
6.145 使用侧输出流优化split、select案例总结 |
6.146 Transformation之connect算子介绍 |
6.147 Transformation之connect算子案例实操Ⅰ |
6.148 Transformation之connect算子案例实操Ⅱ |
6.149 Transformation之connect算子案例总结 |
6.150 Transformation之union算子介绍 |
6.151 Transformation之union算子案例演示 |
6.152 Transformation之union算子案例总结 |
第7章-Flink流处理API |
7.153 上堂课知识点回顾 |
7.154 Flink流处理API支持的数据类型介绍 |
7.155 基础数据类型 |
7.156 数据类型之Java和Scala的元组 |
7.157_数据类型之Scala中的样例类 |
7.158_数据类型之Java中的POJO类 |
7.159 使用lombok框架优化之后的java中的pojo类 |
7.160 lombok框架总结 |
7.160_lombok框架总结 |
7.161 数据类型之Java中的集合 |
7.162 Flink流处理Api中支持的数据类型总结 |
7.163 上堂课知识点回顾 |
7.164 实现更细粒度的流控制之UDF函数介绍 |
7.165 UDF之自定义子类方式案例实操 |
7.166 UDF之自定义子类方式总结 |
7.167 UDF之匿名内部类方式 |
7.168 UDF之自定义带参数的子类方式案例实操 |
7.169 UDF之自定义带参数的子类方式总结 |
7.170 使用Lamda表达式对代码进行简化 |
7.171 使用Lamda表达式对代码进行简化总结 |
7.172 用户自定义富函数介绍 |
7.173 用户自定义富函数深度剖析 |
7.174 用户自定义富函数之前期准备 |
7.175 用户自定义富函数案例实操Ⅰ |
7.176 用户自定义富函数案例实操Ⅱ |
7.177 用户自定义富函数案例效果演示 |
7.178 用户自定义富函数案例排错演示 |
7.179 用户自定义富函数案例最终效果演示以及总结 |
第8章-Flink流处理API |
8.180 上堂课知识点回顾 |
8.181 Flink流处理API之Sink介绍 |
8.182 Sink之Kafka说明 |
8.183 Sink之Kafka案例实现思路阐述 |
8.184 Sink之Kafka案例之前期准备Ⅰ |
8.185 Sink之Kafka案例之前期准备Ⅱ |
8.186 Sink之Kafka案例之核心代码书写 |
8.187 Sink之Kafka案例之效果演示 |
8.188 Sink之Kafka案例总结 |
8.189 Sink之Kafka案例使用新的API进行优化实操 |
8.190 Sink之Kafka案例使用新的API进行优化效果演示以及总结 |
8.191 Sink Kafka案例之EXACTLY_ONCE语义深度剖析 |
8.192 Sink之Redis介绍 |
8.193 Sink之Redis案例之前期准备 |
8.194 Sink之Redis案例核心代码书写 |
8.195 Sink之Redis案例核心代码书写Ⅱ |
8.196 Sink之Redis案例最终效果演示 |
8.197 Sink之Redis案例总结 |
8.198 Sink之ES介绍 |
8.199 Sink之ES案例之前期准备 |
8.200 Sink之ES案例核心代码书写 |
8.201 Sink之ES案例核心代码书写Ⅱ |
8.202 Sink之ES案例最终效果演示 |
8.203 Sink之ES案例总结 |
第9章-Flink流处理API |
9.204 上堂课知识点回顾 |
9.205 自定义Sink介绍 |
9.206 自定义Sink案例说明 |
9.207 自定义Sink案例之前期准备 |
9.208 自定义Sink案例之核心代码书写Ⅰ |
9.209 自定义Sink案例之核心代码书写Ⅱ |
9.210 自定义Sink案例之核心代码书写Ⅲ |
9.211 自定义Sink案例之最终效果演示以及总结 |
9.212 自定义Sink案例深度剖析 |
9.213 自定义Sink案例深度剖析Ⅱ |
9.214 上堂课知识点回顾 |
9.215 自定义Sink案例之SQL优化 |
9.216 自定义Sink案例之SQL优化效果演示以及总结 |
9.217 Flink项目开发语言选择说明 |
9.218 使用混合开发方式修改自定义sink案例Ⅰ |
9.219 使用混合开发方式修改自定义sink案例实操Ⅱ |
9.220 使用混合开发方式修改自定义sink案例最终效果演示 |
9.221 使用混合开发方式修改自定义sink案例总结 |
9.222 Flink Connector之预定义的Source和Sink介绍 |
9.223 预定义的Source和Sink之Socket案例总结 |
9.224 常用的Bundled Connectors介绍 |
9.225 Flink Connector之Apache Bahir说明 |
第10章-Flink Connector&高级特性 |
10.226 上堂课知识点回顾 |
10.227 Flink Connector之Async输出输出 |
10.228 Kafka Connector之消费策略 |
10.229 Kafka Connector之Kafka Consumer的容错 |
10.230 kafka consumer容错之CheckPoint配置以及StateBackend存储 |
10.231 Kafka Connector之动态加载Topic案例实操 |
10.232 Kafka Connector之动态加载Topic案例效果演示以及总结 |
10.233 kafka consumers offset自动提交 |
10.234 kafka connector之kafka producer介绍 |
10.235 kafka connector之kafka producer的容错 |
10.236 Elasticsearch Connector |
10.237 Flink高级特性之Broadcast介绍 |
10.238 广播流变量、广播变量样例代码说明 |
10.239 上堂课知识点回顾 |
10.240 广播变量详解 |
10.241 广播有界流变量案例实操Ⅰ |
10.242 广播有界流变量案例实操Ⅱ |
10.243 广播有界流变量案例实操Ⅲ以及效果演示 |
10.244 广播有界流变量案例总结 |
10.245 DataSet内连接案例演示 |
10.246 广播变量方式和内连接方式执行耗时调查 |
10.247 广播无界流变量详解 |
10.248 广播无界流变量案例实操Ⅰ |
10.249 广播无界流变量案例实操Ⅱ |
10.250 广播无界流变量案例实操Ⅲ |
10.251 广播无界流变量案例实操Ⅳ |
10.252 广播流变量最终效果演示 |
10.253 广播流变量案例总结 |
10.254 广播流变量代码优化以及效果演示 |
第11章-Flink Connector&高级特性 |
11.255 上堂课知识点回顾 |
11.256 两个DataStream上进行Join操作介绍 |
11.257 两个DataStream进行Join操作案例实操Ⅰ |
11.258 两个DataStream进行Join操作案例实操Ⅱ |
11.259 两个DataStream进行Join操作案例最终效果演示 |
11.260 广播无界流变量的适用场景与DataStream之间的Join操作对比说明 |
11.261 两个DataStream之间进行Join操作案例总结 |
11.262 Flink中的累加器介绍 |
11.263 累加器案例实操Ⅰ |
11.264 累加器案例实操Ⅱ |
11.265 累加器案例总结 |
11.266 Flink无界流应用中使用累加器注意点说明 |
11.267 通过任务管理器查看累加器的值实操Ⅰ |
11.268 通过任务管理器查看累加器的值实操Ⅱ以及效果演示 |
11.269 关于注解框架lombok与maven之package功能冲突解决演示 |
11.270 关于注解框架lombok与maven之package功能冲突解决经验总结 |
第12章-Flink高级特性 |
12.271 上堂课知识点回顾 |
12.272 分布式文件缓存介绍 |
12.273 分布式文件缓存案例介绍 |
12.274 分布式文件缓存案例实操Ⅰ |
12.275 分布式文件缓存案例实操Ⅱ |
12.276 分布式文件缓存案例效果演示以及总结 |
12.277 分布式文件缓存介绍 |
12.278 State状态管理说明 |
12.279 无状态的流处理和有状态的流处理介绍 |
12.280 状态的分类 |
12.281 算子状态Operator State |
12.282 算子状态之Keyed State |
12.283 Keyed State案例说明 |
12.284 Keyed State案例对应的业务场景阐述 |
12.285 Keyed State案例实操Ⅰ |
12.286 Keyed State案例实操Ⅱ |
12.287 Keyed State案例实操Ⅲ |
12.288 Keyed State案例最终效果演示 |
12.289 Keyed State案例总结 |
12.290 Keyed State案例之flatMap方式 |
第13章-Flink高级特性 |
13.291 上堂课知识点回顾 |
13.292 Keyed State优化方法之flatMapWithState说明 |
13.293 Keyed State优化方法之flatMapWithState案例实操 |
13.294 Keyed State优化方法之flatMapWithState案例最终效果演示 |
13.295 Keyed State优化方法之flatMapWithState案例总结 |
13.296 Keyed State和Operator State的两种存在形式 |
13.297 状态后端之State Backends介绍 |
13.298 状态后端案例说明 |
13.299 状态后端之FsStateBackend案例实操 |
13.300 状态后端之FsStateBackend案例总结 |
13.301 RocksDB案例实操 |
13.302 RocksDB案例效果演示 |
13.303 RocksDB案例总结 |
13.304 状态后端之RocksDBStateBackend案例实操 |
13.305 状态后端之RocksDBStateBackend案例总结 |
13.306 State状态容错 |
13.307 checkpoint介绍 |
13.308 从检查点恢复状态步骤详解 |
13.309 Checkpoint内部算法以及检查点分界线之Checkpoint barrier |
13.310 检查点分界线checkpoint barrier内幕剖析 |
13.311 Flink检查点算法深度剖析 |
13.312 保存点之savepoints |
第14章-Window和Time操作 |
14.313 上堂课知识点回顾Ⅰ |
14.314 上堂课知识点回顾Ⅱ |
14.315 状态一致性的分类以及一致性检查点 |
14.316 端到端的Exactly once |
14.317 sink端的一致性实现方式之预写日志和两阶段提交 |
14.318 不同Source和Sink的一致性保证 |
14.319 Exactly once两阶段提交详解Ⅰ |
14.320 Flink+Kafka两步提交总结 |
14.321 Flink中的Window介绍 |
14.322 窗口的分类 |
14.323 Flink计时窗口案例说明 |
14.324 Flink滚动计时窗口案例实操 |
14.325 Flink滚动计时窗口案例总结 |
第15章-Window和Time操作 |
15.326 上堂课知识点回顾 |
15.327 滚动计数窗口案例实操以及效果演示 |
15.328 滚动计数窗口案例总结 |
15.329 滑动计数窗口案例实操以及效果演示 |
15.330 滑动计数窗口案例总结 |
15.331 全窗口函数和增量聚合函数介绍 |
15.332 增量聚合函数之ReduceFunction案例实操以及效果演示 |
15.333 增量聚合函数之ReduceFunction案例总结 |
15.334 增量聚合函数之ReduceFunction代码简化以及效果演示 |
15.335 增量聚合函数之AggregateFunction介绍 |
15.336 增量聚合函数之AggregateFunction案例实操Ⅰ |
15.337 增量聚合函数之AggregateFunction案例实操Ⅱ以及效果演示 |
15.338 增量聚合函数之AggregateFunction总结 |
第16章-Window和Time操作 |
16.339 上堂课知识点回顾 |
16.340 全窗口函数之ProcessWindowFunction介绍 |
16.341 全窗口函数之ProcessWindowFunction案例实操Ⅰ |
16.342 全窗口函数之ProcessWindowFunction案例实操Ⅱ以及效果演示 |
16.343 全窗口函数之ProcessWindowFunction总结 |
16.344 增量聚合+全窗口函数综合案例介绍 |
16.345 增量聚合+全窗口函数综合案例实操Ⅰ |
16.346 增量聚合+全窗口函数综合案例实操Ⅱ以及效果演示 |
16.347 增量聚合+全窗口函数综合案例总结 |
16.348 全窗口聚合函数之RichWindowFunction案例实操Ⅰ |
16.349 全窗口聚合函数之RichWindowFunction案例实操Ⅱ以及总结 |
第17章-Window和Time操作 |
17.350 上堂课知识点回顾 |
17.351 Window可选API以及自定义触发器说明 |
17.352 自定义触发器案例实操Ⅰ |
17.353 自定义触发器案例实操Ⅱ |
17.354 自定义触发器案例实操Ⅲ |
17.355 自定义触发器案例实操Ⅳ以及最终效果演示 |
17.356 自定义触发器案例总结 |
17.357 window API总览 |
17.358 Flink支持的时间语义以及时间特性说明 |
17.359 乱序数据的影响阐述 |
17.360 水位线Watermark |
17.361 有序流的Watermarks案例介绍 |
17.362 有序流的Watermarks案例实操Ⅰ |
17.363 有序流的Watermarks案例实操Ⅱ |
17.364 有序流的Watermarks案例最终效果演示 |
17.365 有序流的Watermarks案例总结 |
17.366 无序流的watermark机制结合window操作处理一定范围内的乱序数据案例实操 |
17.367 无序流的watermark机制结合window操作处理一定范围内的乱序数据案例总结 |
17.368 Flink中无序流数据处理方案介绍 |
17.369 针对于延迟太多的数据处理默认方案之丢弃案例实操以及效果演示 |
17.370 针对于延迟太多的数据处理默认方案之丢弃案例总结 |
17.371 针对于延迟太多的数据处理方案之allowedLateness案例实操以及效果演示 |
17.372 针对于延迟太多的数据处理方案之allowedLateness案例总结 |
17.373 针对于延迟太多的数据处理方案之SideOutputLateData案例实操 |
17.374 针对于延迟太多的数据处理方案之SideOutputLateData案例最终效果演示以及总结 |
17.375 多并行度下的Watermark介绍 |
17.376 多并行度下的Watermark案例实操Ⅰ |
17.377 多并行度下的Watermark案例实操Ⅱ以及最终效果演示 |
17.378 多并行度下的Watermark案例总结 |
第18章-Window和Time操作、CEP |
18.379 上堂课知识点回顾Ⅰ |
18.380 上堂课知识点回顾Ⅱ |
18.381 Watermark总结 |
18.382 Flink Table API 和 Flink SQL介绍 |
18.383 Flink Table API使用方式简介 |
18.384 Flink Table API简单案例实操 |
18.385 Flink Table API简单案例效果演示以及总结 |
18.386 给Flink Table API中相应的字段取别名 |
18.387 使用链式编程方式对Flink Table API编程方式进行优化 |
18.388 Flink Table API的窗口操作案例说明 |
18.389 Flink Table API的窗口操作案例实操 |
18.390 Flink Table API窗口操作效果演示以及总结 |
18.391 Flink Table API中关于groupBy和时间窗口说明 |
18.392 Flink Table API之toAppendStream和toRetractStream详解之案例实操 |
18.393 Flink Table API之toAppendStream和toRetractStream总结 |
18.394 Flink SQL特点阐述以及使用方式说明 |
18.395 Flink SQL使用方式案例实操以及效果演示 |
18.396 Flink SQL使用方式案例总结 |
18.397 使用Flink SQL API进行窗口操作案例实操以及效果演示 |
18.398 使用Flink SQL API进行窗口操作案例总结 |
18.399 使用Flink SQL API实时统计单词出现的次数案例实操以及总结 |
18.400 Flink Table API 和Flink SQL总结 |
18.401 Flink CEP介绍 |
18.402 非确定有限自动机(NFA) |
18.403 Flink CEP Library介绍 |
18.404 Flink CEP案例介绍 |
18.405 Flink CEP案例之Event类设计 |
18.406 Flink CEP案例实操Ⅰ |
18.407 Flink CEP案例实操Ⅱ之定制CEP Pattern |
18.408 Flink CEP案例实操Ⅲ |
18.409 Flink CEP案例最终效果演示 |
18.410 Flink CEP案例总结 |
18.411 Flink CEP案例优化 |
18.412 Flink CEP个体模式的条件介绍 |
18.413 模式序列和模式检测 |
18.414 匹配事件的提取和超时事件的提取说明 |
18.415 超时事件处理案例实操Ⅰ |
18.416 超时事件处理案例实操Ⅱ |
18.417 超时事件处理案例总结 |
想获得全套的Flink教程资料吗?关注私信获得超过400集的源码+笔记+教程,机不可失,赶快动动手指参与!