解决什么问题:从离线数仓到实时架构的落地落地
很多后端开发者在做数仓项目时,容易陷入“只懂SQL,不懂实时计算”的困境。本课程针对的就是想从传统离线数仓(Hive/Spark)转向 Flink 实时数仓开发的工作场景。它不教空洞的理论,而是直接带你构建一套基于 Flink 的分层架构:从 ODS 层采集日志和业务数据,到 DIM 维层处理配置信息,最终落地到 HBase。课程重点解决“如何利用 FlinkCDC 监听 MySQL 变化”、“如何处理 Kafka 中的乱序数据”以及“广播流与主流的关联”等在工程落地中最容易踩坑的实操问题。
适合什么基础:有 Java/Scala 基础,想系统掌握 Flink
这门课不是给完全零基础的小白准备的。你需要具备扎实的 Java 编程能力,了解 Kafka、HBase 等中间件的基本概念。课程内容从基础概念讲起,但核心部分集中在代码编写上,例如 IDEA 环境搭建、GitLab 版本控制、Maxwell 数据采集以及 FlinkCDC 的配置。如果你已经有 Flink 的入门基础,想通过一个完整的项目来串联知识点,这套资料非常适合作为实战演练的素材。
学完能做什么:独立开发实时数仓 ETL 流程
学完这套教程,你不需要再照着 Demo 搬砖,而是能独立承担一个实时数仓项目的开发任务。具体来说,你能掌握从环境搭建、代码版本管理到具体业务逻辑实现的完整闭环。比如,你能够熟练配置 Maxwell 同步 MySQL binlog,编写 Flink 代码从 Kafka 读取数据并清洗,利用 FlinkCDC 维护配置流,并通过广播机制将维度数据同步至 HBase。这意味着你已经具备了处理高并发实时数据的工程能力。
资料怎么用:先搭环境,再读源码,最后复现逻辑
建议先看第 001 到 009 节,完成 IDEA 开发环境和 GitLab 仓库的搭建,这是后续所有代码运行的前提。接着重点看 ODS 和 DIM 层的代码实现(第 015-032 节),这是核心难点。练习时,不要只看视频,建议下载课程代码,在本地复现环境准备、Maxwell 配置、HBase 建表以及广播流关联的每一步逻辑。通过阅读代码中的工具类封装(如 HBaseUtil、FlinkSourceUtil)来提升代码的工程规范性,而不是死记硬背代码。
课程目录
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=%2Fapi%2Fuploads%2Fb6a69810-862f-479c-a529-d66880073ebc.jpg&w=1920&q=75)


