**Flink 流式计算入门:从理论到代码的完整路径**
在大数据生态中,实时数据处理已成为企业决策的核心驱动力。作为 Apache Flink 体系的基石,Flink Streaming 编程不仅代表了当前流处理技术的最高标准,也是开发者从“离线思维”转向“实时思维”的关键门槛。老汤大数据推出的《老汤大数据之 Flink Streaming 核心编程》体系课,正是为了解决这一痛点,通过从概念辨析到代码落地的全链路讲解,帮助学习者构建扎实的 Flink 编程能力。
课程开篇并未急于切入代码,而是先解决“是什么”和“为什么”的问题。在【Flink 介绍】模块中,讲师首先剖析了数据的形态,明确界定了批处理与流处理的本质区别:前者面向有界数据,后者面向无界数据流。这一基础认知的建立至关重要,因为 Flink 的核心优势正是在于其对统一批流处理架构的支持。随后,课程深入解读 Flink 的设计哲学,让学员理解为何 Flink 能在低延迟、高吞吐的场景下保持卓越表现,为后续的技术学习打下坚实的理论地基。
进入核心的【Flink 编程模型】章节,课程采用了“由浅入深、边讲边练”的教学策略。讲师利用 Netcat 工具模拟无界数据源,直观展示了 Flink 如何持续接收并处理实时数据流。在此基础上,重点讲解了 `map` 和 `flatMap` 这两个最基础且最常用的算子。`map` 用于一对一的数据转换,而 `flatMap` 则实现了“一对多”的扁平化处理,二者是构建复杂 ETL 逻辑的原子组件。为了巩固理解,课程安排了完整的本地 WordCount 实战环节,学员将在本地环境搭建 Flink 集群,亲手编写并提交第一个流式应用,见证数据从产生、处理到输出的全过程。
此外,课程还引入了“Stateful 计算框架”这一高阶概念。与传统的无状态 Web 服务不同,Flink 允许在计算过程中维护状态(State),这使得它能够实现聚合、去重、窗口计算等复杂业务场景。理解 Stateful 特性,是掌握 Flink 高级功能如 CEP、复杂事件处理的前提。
对于希望系统掌握 Flink 技术的从业者而言,这门课程提供了一个清晰的入门路径。它不满足于碎片化的知识点罗列,而是通过 QQ 群答疑等互动形式,确保学员能够真正理解编程模型背后的逻辑。无论是从事实时数仓建设、风控系统开发,还是日志实时监控,具备扎实的 Flink Streaming 编程能力都是不可或缺的竞争力。建议学习者跟随课程节奏,注重本地环境的实操练习,从而将理论转化为真正的工程技能。
课程目录
1-1 [课程答疑 QQ 群:574185645] 老汤大数据课程体系介绍 (06:21) 1-2 [课程答疑 QQ 群:574185645] 将删除 (04:35) 2-1 [课程内容] Flink Streaming 核心编程内容 (07:49) 3-1 [Flink 介绍] 数据形状 (04:10) 3-2 [Flink 介绍] 批处理 vs 流处理 (12:30) 3-3 [Flink 介绍] Flink 介绍 (09:15) 4-1 [Flink 编程模型] netcat模拟 unbounded 数据源 (07:59) 4-2 [Flink 编程模型] map 和 flatMap (13:05) 4-3 [Flink 编程模型] 本地运行 Flink WordCount (19:23) 4-4 [Flink 编程模型] Stateful 计算框架 (15:08) 4-5 [Flink 编程模型] 并行度 (22:25) 4-6 [Flink 编程模型] Scala 版本的 WordCount (08:57) 4-7 [Flink 编程模型] 补充 (03:01) 4-8 [Flink 编程模型] 单节点安装 Flink (07:45) 4-9 [Flink 编程模型] 全分布式安装 Flink (09:40) 4-10 [Flink 编程模型] 程序优化修改 (09:29) 4-11 [Flink 编程模型] 集群提交 Flink 任务 (08:00) 4-12 [Flink 编程模型] 集群中 subtask 的位置 (07:18) 4-13 [Flink 编程模型] Flink 分布式运行时环境 (07:07) 4-14 [Flink 编程模型] 数据传输策略 (09:13) 4-15 [Flink 编程模型] Flink 读写 Kafka (16:39) 4-16 [Flink 编程模型] 集群运行 Flink 读写 Kafka (15:34) 4-17 [Flink 编程模型] 配置 Task slots (11:55) 4-18 [Flink 编程模型] Operator Chain (11:42) 4-19 [Flink 编程模型] 默认情况下 task 的分配 (15:38) 4-20 [Flink 编程模型] Flink 四层图结构 (13:16) 4-21 [Flink 编程模型] Flink 编程模型小结 (09:53) 5-1 [案例驱动讲解常用 API] 案例数据源讲解 (13:37) 5-2 [案例驱动讲解常用 API] 自定义 Source (15:16) 5-3 [案例驱动讲解常用 API] map 和 filter (18:07) 5-4 [案例驱动讲解常用 API] 网格 id 计算 (12:07) 5-5 [案例驱动讲解常用 API] flatMap (13:17) 5-6 [案例驱动讲解常用 API] keyBy (11:52) 5-7 [案例驱动讲解常用 API] keyBy练习 (16:26) 5-8 [案例驱动讲解常用 API] RichFunction (17:14) 6-1 [Flink 状态管理] Flink 中的状态 (05:46) 6-2 [Flink 状态管理] Flink 中的状态种类 (10:36) 6-3 [Flink 状态管理] keyed state 之 ValueSate (21:23) 6-4 [Flink 状态管理] keyed state 之 ListSate (14:52) 6-5 [Flink 状态管理] keyed state 之 MapState (07:42) 6-6 [Flink 状态管理] keyed state 之 ReducingState (09:39) 6-7 [Flink 状态管理] keyed state 之 AggregatingState (12:37) 6-8 [Flink 状态管理] Connected Stream (14:39) 6-9 [Flink 状态管理] 使用 connect 实现关联 (22:34) 6-10 [Flink 状态管理] Managed Operator State (18:18) 6-11 [Flink 状态管理] 三种 StateBackend (12:12) 6-12 [Flink 状态管理] 怎么设置 StateBackend (07:34) 6-13 [Flink 状态管理] 简单的 checkpoint 机制 (09:27) 6-14 [Flink 状态管理] Flink checkpoint 机制 (11:03) 6-15 [Flink 状态管理] checkpoint 配置 (14:18) 6-16 [Flink 状态管理] Flink 程序重启策略 (09:35) 6-17 [Flink 状态管理] Broadcast State (24:01) 7-1 [Time And Window] timeWindow (08:15) 7-2 [Time And Window] ProcessWindowFunction (17:20) 7-3 [Time And Window] Flink 时间种类 (09:27) 7-4 [Time And Window] Event Time VS Processing Time (06:56) 7-5 [Time And Window] 模拟发送带有 Event Time 的数据 (14:35) 7-6 [Time And Window] 处理有序的事件 (11:09) 7-7 [Time And Window] 处理乱序的事件 (06:24) 7-8 [Time And Window] Event Time 处理乱序事件 (08:45) 7-9 [Time And Window] Event Time 加 WaterMark 机制 (08:46) 7-10 [Time And Window] AssignerWithPeriodicWatermarks (08:41) 7-11 [Time And Window] Watermark 定义 (09:53) 7-12 [Time And Window] Watermark 深入需求代码 (15:24) 7-13 [Time And Window] window 计算触发的条件 (18:00) 7-14 [Time And Window] watermark 加 window 处理乱序事件 (10:10) 7-15 [Time And Window] 默认丢弃迟到太多的事件 (06:35) 7-16 [Time And Window] allowedLateness 指定允许数据延迟的时间 (11:11) 7-17 [Time And Window] sideOutputLateData 收集迟到的数据 (09:27) 7-18 [Time And Window] 多并行度下的 watermark (07:50) 7-19 [Time And Window] 两种 watermark 生成机制 (06:50) 7-20 [Time And Window] Keyed vs Non-Keyed Windows (16:42) 7-21 [Time And Window] tumbling window (13:44) 7-22 [Time And Window] sliding window (05:29) 7-23 [Time And Window] KeyedProcessFunction 注册定时器 (22:01) 7-24 [Time And Window] session window (08:54) 7-25 [Time And Window] global window (09:42) 7-26 [Time And Window] Window Trigger (25:36) 7-27 [Time And Window] Window Evictor (16:13) 7-28 [Time And Window] Window Function 之 reduce (09:36) 7-29 [Time And Window] Window Function 之 aggregate (08:09) 7-30 [Time And Window] Process Window Function (07:01) 7-31 [Time And Window] Join API (11:50) 8-1 [实战之车联网实时计算] 计算赚钱最多的司机 (12:53) 8-2 [实战之车联网实时计算] 代码优化 (06:19) 8-3 [实战之车联网实时计算] window 增量计算 (09:26) 8-4 [实战之车联网实时计算] Connected Car Event Stream (06:17) 8-5 [实战之车联网实时计算] 实时对无序事件排序 (14:23) 8-6 [实战之车联网实时计算] 处理每个事件 (15:56) 8-7 [实战之车联网实时计算] 定时输出有序事件 (14:51) 8-8 [实战之车联网实时计算] 迟到太多事件的处理 (12:43) 8-9 [实战之车联网实时计算] Segment 的定义 (11:03) 8-10 [实战之车联网实时计算] 计算一个 car 的所有 StopSegment (13:24) 8-11 [实战之车联网实时计算] 数据清除策略 (10:23) 8-12 [实战之车联网实时计算] 计算 StopSegement 的值 (08:21) 8-13 [实战之车联网实时计算] GapSegment 的计算 (06:04) 9-1 [Flink On Yarn] Flink 集成 Hadoop (07:04) 9-2 [Flink On Yarn] 提交单个 Flink Job 到 Yarn 上 (07:49) 9-3 [Flink On Yarn] Fink On Yarn 配置讲解 (15:08) 9-4 [Flink On Yarn] 杀掉 Yarn Application 的另一种方式 (02:15) 9-5 [Flink On Yarn] Flink yarn-session (10:36) 9-6 [Flink On Yarn] yarn-session 的配置讲解 (09:40) 10-1 [Flink Streaming Connector] 开发环境和集群环境的准备 (06:09) 10-2 [Flink Streaming Connector] Flink Streaming Kafka 序列化一 (18:49) 10-3 [Flink Streaming Connector] Flink Streaming Kafka 序列化二 (09:50) 10-4 [Flink Streaming Connector] Flink Streaming Kafka 序列化总结 (08:49) 10-5 [Flink Streaming Connector] 推荐使用的 FlinkKafkaProducer (14:18) 10-6 [Flink Streaming Connector] Flink 集成 Kafka 0.10.x 版本 (06:33) 10-7 [Flink Streaming Connector] FlinkKafkaConsumer 消费策略 (07:57) 10-8 [Flink Streaming Connector] offset 提交策略 (04:30) 10-9 [Flink Streaming Connector] Flink Streaming 写本地文件 (11:18) 10-10 [Flink Streaming Connector] 数据分配器(BucketAssigner) (08:22) 10-11 [Flink Streaming Connector] 文件滚动策略 (18:08) 10-12 [Flink Streaming Connector] StreamFileSink 配合checkpoint (06:03) 10-13 [Flink Streaming Connector] Flink Streaming 写 HDFS 文件 (04:02)





