**Flink 1.8 实时数仓实战:从批处理基石到工程化落地**

在大数据实时计算的浪潮中,Apache Flink 凭借其卓越的流批一体能力,已成为构建现代实时数据仓库的核心引擎。然而,许多学习者往往急于上手高级的 Stream API,却忽视了底层 DataSet API 所蕴含的计算逻辑与工程规范。本课程《Flink 1.8 在实时数仓项目中的应用》正是为了填补这一认知空白,通过扎实的基础训练,为学员搭建起通往企业级实时数仓开发的坚实桥梁。

课程开篇并非直接进入复杂的流处理场景,而是回归本源,深入剖析 Flink 的批处理核心——DataSet API。这一设计极具匠心,因为理解批处理的确定性执行模型,是掌握流处理复杂语义的前提。在前期的学习中,你将系统性地演练如何手写一个完整的 Flink 批处理程序,从读取 CSV 格式的数据源开始,逐步进阶到递归读取目录下文件的技巧。这些看似基础的操作,实则是在培养对数据摄入(Ingestion)环节的严谨把控能力,这是实时数仓建设中最容易被忽视却至关重要的第一步。

随后,课程将带你深入数据转换(Transformation)的核心地带。通过 Map、FlatMap 和 MapPartition 的实操,你将精通数据映射与分区处理的各种形态;在过滤与聚合转换的环节中,你将学会如何高效地清洗与汇总数据。特别值得注意的是,课程详细讲解了数据去重、Union 合并以及多种 Join 策略(包括默认 Join、JoinFunction、Left/Right/Full Outer Join)。这些操作不仅是批处理的经典场景,更是实时数仓中处理宽表关联、维度补全等复杂业务逻辑的直接映射。例如,多类型的 Join 操作演练,将帮助你深刻理解在不同数据延迟容忍度下,如何选择最优的连接策略,从而避免实时任务中的性能瓶颈。

除了核心的计算逻辑,本课程更侧重于企业级开发中的工程化实践。在“广播变量”与“分布式缓存”章节,你将学习到如何高效处理小表与大表关联的常见痛点,这是实时数仓事实表与维度表 Join 的典型优化手段。此外,课程还专门设置了传参机制的深入讲解,涵盖构造方法传参、withParameters 配置传参以及全局传参三种方式。在实际项目中,灵活的配置管理决定了代码的可维护性与部署效率,掌握这些技巧将使你的 Flink 应用更加健壮和易于扩展。

虽然资料线索显示课程包含 Flink DataSet 容错等内容,但整体脉络清晰地指向了一个目标:通过扎实的批处理基础训练,辅以企业级工程技巧,帮助你建立起对 Flink 计算模型的全局视野。对于立志从事实时数仓开发的工程师而言,这门课程不仅是一次 API 的学习,更是一次思维模式的升级,让你在未来的流处理实战中,能够更从容地应对数据一致性、性能优化及系统可靠性等多重挑战。

课程目录

课程目录67 集
  • 1-1 [课程介绍] 课程内容安排与介绍 (05:11).mp4
  • 2-1 [Flink DataSet] 手写一个Flink 批处理程序 (14:22).mp4
  • 2-2 [Flink DataSet] 读取CSV格式数据源 (20:01).mp4
  • 2-3 [Flink DataSet] 递归读取目录下文件 (07:15).mp4
  • 2-4 [Flink DataSet] Map&FlatMap&MapPartition实操 (08:18).mp4
  • 2-5 [Flink DataSet] 过滤和聚合转换操作 (03:27).mp4
  • 2-6 [Flink DataSet] 数据去重实操 (05:32).mp4
  • 2-7 [Flink DataSet] Union实操 (06:19).mp4
  • 2-8 [Flink DataSet] 默认Join实操 (10:05).mp4
  • 2-9 [Flink DataSet] Join并实现JoinFunction实操 (11:26).mp4
  • 2-10 [Flink DataSet] left outer Join实操 (08:34).mp4
  • 2-11 [Flink DataSet] right outer Join实操 (06:30).mp4
  • 2-12 [Flink DataSet] full outer Join实操 (06:44).mp4
  • 2-13 [Flink DataSet] DataSink数据输出 (05:13).mp4
  • 2-14 [Flink DataSet] 广播变量实操 (22:41).mp4
  • 2-15 [Flink DataSet] 分布式缓存实操 (15:05).mp4
  • 2-16 [Flink DataSet] 构造方法传参实操 (06:08).mp4
  • 2-17 [Flink DataSet] withParameters传参实操 (05:13).mp4
  • 2-18 [Flink DataSet] 全局传参实操 (05:08).mp4
  • 3-1 [Flink DataSet容错] Flink 批处理容错 (03:15).mp4
  • 3-2 [Flink DataSet容错] Fixed delay和Failure rate重启策略使用 (10:43).mp4
  • 4-1 [Flink DataSet Connectors] Flink 批处理Connector (05:21).mp4
  • 4-2 [Flink DataSet Connectors] Flink HBaseSink代码实现 (29:40).mp4
  • 4-3 [Flink DataSet Connectors] Flink HBaseSink测试运行 (10:08).mp4
  • 4-4 [Flink DataSet Connectors] Flink HBaseSource实现 (16:07).mp4
  • 5-1 [Flink Table API & SQL] Flink Table API和SQL介绍 (07:32).mp4
  • 5-2 [Flink Table API & SQL] Flink SQL编程套路-Stream SQL (13:53).mp4
  • 5-3 [Flink Table API & SQL] Flink SQL编程套路-Batch SQL (06:09).mp4
  • 5-4 [Flink Table API & SQL] Flink SQL编程套路-Batch Table (03:49).mp4
  • 5-5 [Flink Table API & SQL] Flink API&SQL流处理介绍 (02:53).mp4
  • 5-6 [Flink Table API & SQL] 动态表与连续查询 (08:02).mp4
  • 5-7 [Flink Table API & SQL] 表转流-Append-only 模式 (22:53).mp4
  • 5-8 [Flink Table API & SQL] 表转流-Retract 模式 (04:25).mp4
  • 5-9 [Flink Table API & SQL] Flink SQL读取Kafka代码实现 (16:16).mp4
  • 5-10 [Flink Table API & SQL] Flink SQL读取Kafka测试运行 (09:15).mp4
  • 5-11 [Flink Table API & SQL] Flink Table API实操 (19:31).mp4
  • 5-12 [Flink Table API & SQL] Flink SQL实操 (08:45).mp4
  • 6-1 [Flink 实时数仓项目实战] 项目需求 (05:23).mp4
  • 6-2 [Flink 实时数仓项目实战] 架构设计 (06:27).mp4
  • 6-3 [Flink 实时数仓项目实战] 解决方案 (05:03).mp4
  • 6-4 [Flink 实时数仓项目实战] Mysql主备复制实现原理 (03:03).mp4
  • 6-5 [Flink 实时数仓项目实战] Canal架构与工作原理 (05:48).mp4
  • 6-6 [Flink 实时数仓项目实战] MySQL binlog介绍 (05:10).mp4
  • 6-7 [Flink 实时数仓项目实战] MySQL安装 (08:30).mp4
  • 6-8 [Flink 实时数仓项目实战] MySQL服务启动与设置 (04:18).mp4
  • 6-9 [Flink 实时数仓项目实战] MySQL新建账号及开启Binlog (07:52).mp4
  • 6-10 [Flink 实时数仓项目实战] Canal-Kafka安装与配置 (04:55).mp4
  • 6-11 [Flink 实时数仓项目实战] Canal-Kafka服务启动与测试 (07:36).mp4
  • 6-12 [Flink 实时数仓项目实战] 数据库建模 (07:59).mp4
  • 6-13 [Flink 实时数仓项目实战] 商品表数据接入(1) (14:42).mp4
  • 6-14 [Flink 实时数仓项目实战] 商品表数据接入(2) (03:03).mp4
  • 6-15 [Flink 实时数仓项目实战] 订单表数据实时接入(1) (32:59).mp4
  • 6-16 [Flink 实时数仓项目实战] 订单表数据实时接入(2) (11:54).mp4
  • 6-17 [Flink 实时数仓项目实战] 订单表数据实时接入(3) (04:32).mp4
  • 6-18 [Flink 实时数仓项目实战] Flink全量拉取模板(1) (20:06).mp4
  • 6-19 [Flink 实时数仓项目实战] Flink全量拉取模板(2) (11:51).mp4
  • 6-20 [Flink 实时数仓项目实战] Flink全量拉取模板(3) (09:05).mp4
  • 6-21 [Flink 实时数仓项目实战] 动手实现Flink版本的Sqoop(1) (20:04).mp4
  • 6-22 [Flink 实时数仓项目实战] 动手实现Flink版本的Sqoop(2) (05:58).mp4
  • 6-23 [Flink 实时数仓项目实战] Flink增量实时同步模块在生成环境中的难点问题 (14:34).mp4
  • 6-24 [Flink 实时数仓项目实战] Flink增量实时同步模块实现(1) (13:17).mp4
  • 6-25 [Flink 实时数仓项目实战] Flink 增量实时同步模块实现(2) (13:13).mp4
  • 6-26 [Flink 实时数仓项目实战] Flink 增量实时同步模块实现(3) (12:47).mp4
  • 6-27 [Flink 实时数仓项目实战] Flink增量实时同步模块实现(4) (11:13).mp4
  • 6-28 [Flink 实时数仓项目实战] Flink增量实时同步模块整体联调(1) (08:09).mp4
  • 6-29 [Flink 实时数仓项目实战] Flink增量实时同步模块整体联调(2) (21:16).mp4
  • 6-30 [Flink 实时数仓项目实战] 项目总结 (06:44).mp4