这门课解决什么工作场景

很多做数据开发的人会遇到一个尴尬:离线批处理用 Hive 或 Spark,实时流处理又得另写一套 DataStream 代码,两套逻辑两套维护,字段对不上是常态。这门 Flink SQL 大数据项目实战课的核心切入点,就是用 SQL 同时写实时和离线任务,也就是所谓的流批一体。它解决的具体场景是:业务方要求分钟级甚至秒级的数据看板,同时又要求每天出一份对账报告;你不想写两套代码,想用 SQL 统一处理 Kafka 实时消息和 Hive 离线表。课程从动态表、连续查询这些底层概念讲起,帮你理解为什么 SQL 能跑在流上,而不是只教语法。

适合什么基础与建议先看哪几块

这门课不适合零基础。它默认你已经会写基本 SQL,了解 Kafka 消息队列,写过至少一个 Flink DataStream 作业。如果你连 Java 项目都搭不起来,先补基础再看。建议先看流批统一思想那块,尤其是动态表转数据流和连续查询的限制——这两节决定了你后面写 SQL 会不会因为时间语义和窗口理解错而出脏数据。接着直接跳到 Table API 与 DataStream 混合使用案例,因为真实项目里纯 SQL 不够用,经常要切回 DataStream 处理状态后端或水位线问题。把这两块吃透,后面的查询案例就是练手。

学完能独立做什么与资料怎么配合练习

学完后你应该能独立完成一个完整的实时数仓链路:从 Kafka 接入业务数据,用 Flink SQL 做维表 join 和窗口聚合,写入 Doris 或 ClickHouse 供看板查询,同时复用同一套 SQL 跑离线补数。资料配合练习的关键在于:不要只看视频跟着敲,要自己造脏数据。比如手动往 Kafka 灌乱序消息,观察水位线推进对窗口结果的影响;再比如故意造一个迟到数据,看 retract 流怎么更新下游表。课程里的查询案例可以当模板,但真正长经验的是你把这些 SQL 放到有数据倾斜、有维表更新、有反压的场景里跑一遍,调通一次胜过看十遍。


掌握Flink SQL流批一体技术,积累Flink SQL项目经验

课程目录

*   01 Flink SQL大数据项目实战/

  *   01 【课程介绍】FlinkSQL大数据项目实战

*   02 Flink SQL流批统一/

  *   01 Flink 流批统一思想

  *   02 Flink Table API与SQL执行过程

  *   03 关系代数与流处理

  *   04 理解动态表与连续查询

  *   05 动态表详解之连续查询

  *   06 动态表详解之动态表转数据流

  *   07 动态表详解之动态表查询限制

*   03 Flink Table编程全面详解/

  *   01 FlinkSQL项目构建

  *   02 FlinkTableAPI与DataStream混合使用案例

  *   03 Flink标准TableAPI使用案例

  *   04 FlinkTableAPI开发步骤详解

  *   05 FlinkTableAPI查询案例

  *   06 FlinkSQL查询案例

  *   07 FlinkTableAPI与SQL混合查询案例

  *   08 FlinkTableAPI聚合查询案例

  *   09 FlinkTableAPI的输入输出

  *   10 FlinkTableAPI读取FileSystem和CSV案

  *   11 FlinkTableAPI读取FileSystem和JSON

  *   12 FlinkTableAPI读取HDFS和JSON案例

  *   13 FlinkTableAPI读取HBase案例

  *   14 FlinkTableAPI读取Kafka案例

  *   15 FlinkTableAPI读取MySQL案例

  *   16 FlinkTableAPI读取Hive案例1

  *   17 FlinkTableAPI读取Hive案例2

  *   18 FlinkTableAPI读写Kafka案例

  *   19 FlinkTableAPI读写Kafka高级特性详解

  *   20 FlinkTableAPI读写MySQL案例

  *   21 FlinkTableAPI写入Hive案例

  *   22 FlinkTableAPI写入HBase案例1

  *   23 FlinkTableAPI写入HBase案例2

  *   24 FlinkTableAPI查询执行计划

  *   25 FlinkTableAPI多输入与输出1

  *   26 FlinkTableAPI多输入与输出2

*   04 Flink SQL编程全面详解/

  *   01 FlinkSQL查询已注册表的案例

  *   02 FlinkSQL查询未注册表的案例

  *   03 FlinkSQL标准代码结构案例

  *   04 FlinkSQL基本语法介绍

  *   05 FlinkSQL读写Kafka案例

  *   06 FlinkSQL读Kafka写入MySQL案例

  *   07 FlinkSQL读MySQL写Hive案例

  *   08 FlinkSQL读Kafka写HBase案例

*   05 Flink SQL Time与Watermark/

  *   01 FlinkSQL时间与水位线机制

  *   02 FlinkSQL定义ProcessTime案例

  *   03 FlinkSQL定义EventTime案例

*   06 Flink SQL Window操作/

  *   01 Flink窗口分类与使用

  *   02 FlinkTable基于processTime翻滚窗口处理案

  *   03 FlinkTable基于EventTime翻滚窗口处理案

  *   04 FlinkTable基于计数翻滚窗口处理案例

  *   05 FlinkTable基于ProcessTime滑动窗口处理案

  *   06 FlinkTable基于计数滑动窗口处理案例

  *   07 FlinkTable基于EventTime滑动窗口处理案例

  *   08 FlinkTable基于ProcessTime的会话窗口处理

  *   09 FlinkTable基于EventTime会话窗口处理案例

  *   10 排序无界按UNBOUNDED_RANGE开窗案例

  *   11 ProcessTime排序有界向前2行开窗案例

  *   12 ProcessTime排序有界向前5秒开窗案例

  *   13 排序无界UNBOUNDED_ROW开窗案例

  *   14 排序无界UNBOUNDED_RANGE开窗案例

  *   15 排序无界UNBOUNDED_ROW开窗案例

  *   16 EventTime排序有界向前5秒开窗案例

  *   17 EventTime排序有界向前2行开窗案例

  *   18 FlinkSQL基于ProcessTime的滚动窗口案例

  *   19 FlinkSQL基于ProcessTime的滑动窗口案例

  *   20 基于ProcessTime的session窗

  *   21 FlinkSQL基于EventTime的滚动窗口案例

  *   22 FlinkSQL基于EventTime的滑动窗口案例

  *   23 FlinkSQL基于EventTime的会话窗口案例

  *   24 ProcessTime排序有界向前5s开窗案例

  *   25 ProcessTime排序有界向前3行开窗案例

  *   26 EventTime排序有界向前5s开窗案例

  *   27 EventTime排序有界向前3行开窗案例

*   07 Flink SQL 函数使用/

  *   01 FlinkSQL内置函数

  *   02 FlinkSQL自定义函数分类与开发思路

  *   03 FlinkSQL自定义UDF案例1

  *   04 FlinkSQL自定义UDF案例2

  *   05 FlinkSQL自定义UDTF案例1

  *   06 FlinkSQL自定义UDTF案例2

  *   07 FlinkSQL自定义UDAF案例1

  *   08 FlinkSQL自定义UDAF案例2

  *   09 FlinkSQL自定义UDATF案例1

  *   10 FlinkSQL自定义UDATF案例2

*   08 Flink SQL 元数据管理/

  *   01 FlinkSQL元数据管理

  *   02 FlinkSQL与Hive整合访问

  *   03 FlinkSQL客户端的使用与参数详解

  *   04 FlinkSQL客户端与Kafka、MySQL集成

  *   05 FlinkSQL客户端与Hive集成

*   09 FlinkSQL项目之Flume日志采集系统/

  *   01 Flume架构及运行原理

  *   02 Flume环境安装部署

  *   03 案例实践:搭建Flume分布式集群1

  *   04 案例实践:搭建Flume分布式集群2

  *   05 案例实践:搭建Flume分布式集群3

*   10 FlinkSQL项目之Kafka分布式消息系统/

  *   01 Kafka架构设计与工作原理

  *   02 Kafka分布式集群搭建1

  *   03 Kafka分布式集群搭建2

  *   04 案例实践:Flume与Kafka集成开发

*   11 FlinkSQL项目之Davinci大数据可视化分析/

  *   01 Davinci架构设计

  *   02 Davinci安装部署1

  *   03 Davinci安装部署2

  *   04 启动Davinci服务

*   12 FlinkSQL项目之Flink核心知识进阶/

  *   01 Flink并行度设置

  *   02 Flink状态与容错

  *   03 Flink窗口计算

  *   04 Flink WaterMark机制

*   13 FlinkSQL项目之全流程开发/

  *   01 项目需求分析与架构设计

  *   02 数据库建模存储统计结果

  *   03 实时产生直播审计数据

  *   04 FlinkSQL项目核心代码开发

  *   05 FlinkSQL项目优化

  *   06 FlinkSQL整体项目联调

  *   07 FlinkSQL项目整体梳理

  *   08 项目数据大屏制作1

  *   09 项目数据大屏制作2