从离线到实时:构建 Flink 实时数仓的实战路径
本课程聚焦于 Flink 实时数仓的构建,旨在解决传统离线数仓滞后、无法满足业务实时性需求的痛点。通过完整的工程化项目,读者将掌握从日志采集、配置表管理到维度数据实时同步的全链路技术,熟悉 FlinkCDC 在异构数据源同步中的应用,并了解如何利用广播流机制实现维度数据的动态更新。课程涵盖了数仓分层架构设计、ER模型构建以及基于 GitLab 的代码版本管理规范,适合有一定 Java/Scala 基础、希望从离线数仓向实时数仓转型的后端开发人员。
核心能力缺口与学习重点
对于备考或转岗的同学,本教程着重填补“如何将理论落地”的空白。建议先掌握 Flink 的基础算子与流处理概念,重点关注 ODS 层的数据采集与清洗(含 Maxwell 与 FlinkCDC 配置)、DIM 层的广播流实现以及 HBase 的交互操作。在学习过程中,应重点理解如何处理主流与广播流的并发问题,以及如何通过配置表实现代码的灵活性扩展。这些内容是面试中常考的实时数仓落地难点,也是独立开发实时数仓模块的必备技能。
练习建议与产出预期
为了确保学有所成,请务必配合资料包中的代码进行本地调试。在环境搭建部分,建议手动复现 GitLab 仓库的初始化与 Kafka 分区设置;在 DIM 层数据处理环节,尝试修改配置表字段后观察程序运行结果的变化。学完本课程,你应该能够独立编写 Flink 程序,实现从 Kafka 读取日志并通过广播流机制将配置表动态同步至 HBase 的功能,具备构建和维护小型实时数仓系统的工程能力。
课程目录
001.教程简介 002.基础_数仓基本概念 003.基础_离线数仓架 004.基础_实时数仓架构 005.基础_ER模型和维度建模 006.基础_事实表和维度表 007.基础_数仓构建流程 008.基础_项目架构以及代码版本控制方式介绍 009.基础_IDEA开发环境搭建 010.环境准备_GitLab的安装 011.环境准备_GitLab的其它配置 012.环境准备_创建用户以及群组 013.环境准备_将初始代码推送到GitLab仓库 014.环境准备_设置Kafka分区数 015.ODS_日志数据采集 016.ODS_配置binlog记录业务数据变化 017.ODS_Maxwell的安装与配置 018.ODS_Maxwell同步数据测试 019.DIM_思路分析_基本流程 020.DIM_思路分析_引入配置表 021.DIM_思路分析_引入FlinkCDC 022.DIM_思路分析_配置表字段完善 023.DIM_FlinkCDC的使用 024.DIM_配置表的创建以及切换开发分支 025.DIM_开发思路分析 026.DIM_基本环境准备以及检查点设置 027.DIM_从Kafka主题中读取数据 028.DIM_转换流中数据类型以及Maxwell问题说明 029.DIM_使用FlinkCDC读取配置表数据 030.DIM_将配置流数据类型封装为实体类对象 031.DIM_封装HBaseUtil工具类 032.DIM_在HBase中建表 033.DIM_广播配置流并和主流进行关联 034.DIM_处理广播流数据 035.DIM_处理主流数据 036.DIM_过滤掉不需要传递的字段 037.DIM_主流数据先到问题分析 038.DIM_在open方法中预加载配置信息 039.DIM_将维度数据同步到HBase表中 040.DIM_封装FlinkSourceUtil工具类 041.DIM_抽取单独的处理函数类 042.DIM_抽取BaseApp基类 043.DIM_抽取方法 044.DIM_封装JdbcUtil工具类 045.DIM_DIM层总结 046.DWD_DWD层介绍 047.DWD_日志分流思路分析 048.DWD_开发思路分析 049.DWD_将脏数据放到侧输出流 050.DWD_创建KafkaSink对象以及Kafka一致性保证 051.DWD_抽取FlinkSinkUtil以及脏数据写到Kafka 052.DWD_新老访客标记修复思路 053.DWD_新老访客标记修复代码实现 054.DWD_埋点日志结构分析 055.DWD_分流代码实现 056.DWD_将不同流的数据写到Kafka主题 057.DWD_抽取方法以及提交代码到GitLab 058.DWD_评论事实表思路分析 059.DWD_FlinkAPI双流Join介绍 060.DWD_内连接 061.DWD_左外连接 062.DWD_右外连接以及全外连接 063.DWD_左外连接结果写到Kafka主题 064.DWD_从Kafka主题中读取数据 065.DWD_从HBase表中读取数据 066.DWD_lookupJoin关联 067.DWD_将关联结果写到Kafka主题 068.DWD_评论事实表开发思路以及环境准备 069.DWD_从topic_db主题中读取数据 070.DWD_过滤出评论数据 071.DWD_从Hbase中读取字典表数据 072.DWD_关联评论表和字典表 073.DWD_将关联的结果写到Kafka主题 074.DWD_抽取工具类封装获取连接器属性的方法 075.DWD_抽取BaseSQLApp基类以及通用的建表方法 076.DWD_加购事实表开发思路分析 077.DWD_过滤出insert类型的加购数据 078.DWD_过滤出update类型的加购数据以及写到Kafka 079.DWD_下单事实表思路分析 080.DWD_下单事实表代码实现





![大疆维修,无人机维修教程[66.30GB]](/_next/image?url=https%3A%2F%2Fwww.itzhibei.com%2Fapi%2Fuploads%2Fb6a69810-862f-479c-a529-d66880073ebc.jpg&w=1920&q=75)