能力缺口:流计算到底怎么落地
很多做后端或离线数仓的同学,简历上敢写“了解 Flink”,但真到排查反压、调 Checkpoint、或者对着 Watermark 算窗口数据乱窜时,往往只能干瞪眼。这门课针对的就是这种“知道名词但写不对代码”的脱节状态。它不扯大厂架构演进,直接拿 Flink 1.8 版本把流计算的核心机制掰开揉碎。如果你写批处理顺手,但碰到实时数仓、秒级监控、事件时间乱序就发虚;或者平时只拿 Spark Streaming 做微批,对真正的流式语义一知半解,这就是你需要补的硬课。它要求你具备 Java 或 Scala 基本编码能力,懂 Maven 打包,最好写过简单的 MapReduce 或 Spark 任务。如果连 Lambda 架构和分层抽样都分不清,建议先补基础再来看,别假装自己能直接啃底层源码。
建议先看哪几块及资料配合
这套资料包含完整的视频讲解与配套代码,建议不要按顺序从头看,而是按痛点切入。先看第二部分简介与架构,把 JobManager、TaskManager、Slot 资源分配模型在脑子里画个图,这是后续调优的地基。接着直接跳到应用场景部分,重点对比 Flink 与 Spark 的差异,搞懂为什么同样是大数据计算,在要求毫秒级延迟和严格状态一致性时必须选前者。视频里讲的欺诈检测场景务必跟着敲一遍,资料包里的示例代码不要直接运行了事,要故意改坏几个算子参数,比如把并行度调错,观察它是怎么报错的。学状态管理时,对照代码把 Operator State 和 Keyed State 的区别写在笔记上,自己画一个 Checkpoint 的生命周期流程图。缺什么补什么,遇到看不懂的背压机制,就倒回去重看资源分配那一节,别跳着糊弄。
学完能独立做什么
看完这套资料,你应该能脱离现成模板,独立写出包含窗口、状态和容错的业务代码。具体来说,给你一份乱序的实时日志,你能自己决定该用滚动窗口还是滑动窗口,能正确设置 Watermark 延迟时间,并在机器宕机重启后让状态恢复到正确节点。当任务出现数据堆积,你能通过 Flink Web UI 找到反压节点,知道是调并行度、改算子链还是优化网络缓冲。不再只是跑通 WordCount 就沾沾自喜,而是能独立把一个实时数据管道部署到集群,并处理常见的 OOM 或 Checkpoint 超时问题。检验学没学透的标准很简单:不看视频,能不能徒手写一个带按 Key 分组且 Exactly-Once 语义的实时聚合任务。如果写不出来,就把状态后端那一块再啃一遍,别假装都会了。
课程目录
1-1 [Flink1.8课程介绍] 课程介绍 (05:27) 2-1 [Flink1.8简介] Flink介绍 (06:16) 2-2 [Flink1.8简介] Flink架构 (02:52) 2-3 [Flink1.8简介] Flink生态圈 (03:48) 3-1 [Flink1.8应用场景] Event-driven Application (04:42) 3-2 [Flink1.8应用场景] Data Analytics Application (02:57) 3-3 [Flink1.8应用场景] Data Pipeline Application (02:58) 3-4 [Flink1.8应用场景] Flink阿里应用-欺诈检测 (05:39) 3-5 [Flink1.8应用场景] Flink与Spark对比分析 (05:02) 4-1 [快速构建Flink1.8 Java Maven项目] Flink项目开发工具、开发语言以及依赖 (10:45) 4-2 [快速构建Flink1.8 Java Maven项目] 命令行快速构建Flink项目 (08:46) 4-3 [快速构建Flink1.8 Java Maven项目] Flink批处理案例实现-Java (26:06) 4-4 [快速构建Flink1.8 Java Maven项目] Flink流处理案例实现-Java (13:43) 4-5 [快速构建Flink1.8 Java Maven项目] Flink Java项目通过maven打包 (05:18) 5-1 [快速构建Flink1.8 Scala Maven项目] 构建flink scala maven项目 (04:35) 5-2 [快速构建Flink1.8 Scala Maven项目] Flink批处理案例实现-scala (21:45) 5-3 [快速构建Flink1.8 Scala Maven项目] Flink流处理案例实现-scala (12:16) 5-4 [快速构建Flink1.8 Scala Maven项目] maven打包Flink Java和Scala项目 (08:47) 6-1 [Flink1.8 Local安装部署] Flink Local模式安装部署 (08:57) 6-2 [Flink1.8 Local安装部署] Flink local模式-Java批处理案例测试 (08:50) 6-3 [Flink1.8 Local安装部署] Flink local模式-Java流处理案例测试 (10:00) 6-4 [Flink1.8 Local安装部署] Flink local模式-scala批处理和流处理案例测试 (05:53) 7-1 [Flink1.8 Standalone HA安装部署] Flink Standalone工作流程 (04:40) 7-2 [Flink1.8 Standalone HA安装部署] Flink Standalone集群安装部署 (16:32) 7-3 [Flink1.8 Standalone HA安装部署] Flink Standalone集群测试运行 (05:03) 7-4 [Flink1.8 Standalone HA安装部署] Flink Standalone HA安装部署(上) (17:20) 7-5 [Flink1.8 Standalone HA安装部署] Flink Standalone HA安装部署(下) (08:37) 7-6 [Flink1.8 Standalone HA安装部署] Flink Standalone HA 测试运行 (04:06) 8-1 [Flink1.8 ON HA安装部署] Flink ON YARN工作流程 (05:07) 8-2 [Flink1.8 ON HA安装部署] Flink依赖环境、相关配置和2种提交作业方式 (06:03) 8-3 [Flink1.8 ON HA安装部署] Flink ON YARN HA生产环境配置 (24:24) 8-4 [Flink1.8 ON HA安装部署] Flink ON YARN服务启动及两种方式提交作业 (23:22) 9-1 [Flink1.8 Shell代码调试] Flink Shell代码调试 (07:20)





