这门课解决什么问题

这门课程旨在帮助技术人员快速理解和掌握Flink在实时数仓项目中的应用。课程通过详细的案例和实战操作,帮助学员从零开始,构建一个完整的实时数仓项目。特别适合初学者和有一定基础但希望深入了解Flink在大数据处理中的应用的技术学习者。

适合什么基础

适合有一定Java基础和技术背景的学习者,尤其是熟悉Hadoop生态中的工具(如HBase、Kafka等)的人员。课程内容涵盖了Flink的基本概念、实时数仓架构、配置表的处理流程等,但不假定任何Flink或实时数仓的具体经验。

建议先看哪几块

建议先学习002-007的“基础”部分,这部分内容主要包括数仓基本概念、离线数仓架构、实时数仓架构、ER模型和维度建模、事实表和维度表、以及数仓构建流程。这些基础知识是理解后续更复杂的内容的基础。

学完能独立做什么

完成本课程后,你将能够独立构建一个基于Flink的实时数仓项目,并能够处理日志数据、配置表的同步、数据类型转换、配置信息的广播和关联等复杂操作。你将具备从数据采集、数据处理到数据存储的全流程实操能力。

资料怎么配合练习

课程配套的资料包中包含了详细的教程和实战代码。建议在学习每一段理论知识后,尝试动手实践配套的练习。具体步骤如下: 1. 先阅读相关章节的教程,理解理论知识。 2. 按照教程中的步骤搭建环境,包括Kafka、GitLab等。 3. 完成代码编写和测试,确保每一步都能正常运行。 4. 参考资料包中的案例代码,进行对比和学习,加深理解。 5. 通过实际操作和调试,解决遇到的问题,逐步掌握Flink在实时数仓中的应用。 通过这样的学习和实践过程,你将能够扎实掌握Flink在实时数仓项目中的应用技巧,为未来的技术工作奠定坚实的基础。

课程目录

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_下单事实表代码实现