正版资源2024版Flink实时数仓项目5.0教程
Flink 实时数仓核心架构与工程落地实战 本课程针对大数据领域「离线与实时数据融合」的痛点,聚焦于基于 Flink 构建企业级实时数仓的完整工程实践。当前业务场景普遍面临日志数据与业务库变更数据(Binlog)的实时处理难题,传统方案往往存在延迟高、架构耦合重的问题。本项目通过拆解 ODS、DIM
Flink 实时数仓核心架构与工程落地实战
本课程针对大数据领域「离线与实时数据融合」的痛点,聚焦于基于 Flink 构建企业级实时数仓的完整工程实践。当前业务场景普遍面临日志数据与业务库变更数据(Binlog)的实时处理难题,传统方案往往存在延迟高、架构耦合重的问题。本项目通过拆解 ODS、DIM、DWS 分层,深入讲解如何利用 Flink CDC 技术实现数据库变更的无侵入捕获,并结合 Kafka 构建高吞吐的实时数据管道,最终将清洗后的数据同步至 HBase 等存储层,解决海量数据实时入仓的延迟与准确性矛盾。
工程化规范与开发环境标准化配置
课程不局限于 API 调用教学,而是从工程复用的角度,详细阐述了从本地 IDEA 开发到云端 GitLab 协作的全链路配置。内容涵盖版本控制策略、Kafka 分区数调优、Maxwell 同步配置以及 Flink 集群的参数调整。特别强调在维度表开发中,如何通过配置表实现动态元数据管理,以及如何利用广播变量(Broadcast State)优化维度 Join 性能,避免数据倾斜。这些模块旨在让学员掌握可维护的代码结构,理解生产环境中如何规范地管理代码分支与依赖,为后续独立开发类似项目打下坚实基础。
从 ODS 到 DIM 的分层构建与关键技术点
项目核心逻辑围绕数仓分层展开,重点演示了 ODS 层的日志采集与 Binlog 解析,以及 DIM 层基于 Flink CDC 的实时维度构建。教学中会具体剖析 Flink Source 注册机制、类型转换封装以及 HBase 表结构的设计,解决数据类型不一致导致的连接失败问题。学员将亲手实践如何封装 HBaseUtil 和 FlinkSourceUtil 等通用工具类,实现维度的预加载与增量更新。学完本课程,你不仅能独立搭建一套支持分钟级延迟的实时数仓,还能掌握处理异构数据源、动态配置表加载以及高并发写入 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_下单事实表代码实现




