尚硅谷Java培训

Flink实时数仓5.0

视频介绍

在当今电商行业竞争激烈的环境下,数据实时处理与分析成为企业取得成功的关键因素之一。实时处理领域,Flink被普遍认为是下一代大数据流计算引擎,本项目基于Flink实现电商实时数仓,利用Flink强大的功能,实时采集、处理和存储电商业务中的海量数据,并为企业提供了全面、深入的数据分析能力。

教程通过思路分析、画图演示、代码开发等多维方式,对数仓的构架过程及整体实现进行了详细的讲解。相较于实时数仓项目4.0,升级了项目架构设计和各个软件的版本,并采用GitFlow任务流的形式对整体项目进行版本控制,使用StreamPark对项目进行部署和监控。

项目采用的软件及版本:Flink 1.17.1、Hadoop 3.3.4、Flume 1.10.1、Zookeeper 3.7.1、Kafka 3.6.1、Maxwell 1.29.2、Redis 6.0.8、HBase 2.4.11、Doris 2.1.0、StreamPark 2.1.4、FlinkCDC 2.4.2、MySQL 8.0.31等。

视频目录 选集

  • 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_下单事实表代码实现
  • 081.DWD_取消订单事实表整体实现
  • 082.DWD_支付成功事实表思路分析
  • 083.DWD_支付成功事实表代码实现
  • 084.DWD_退单事实表整体实现(了解业务)
  • 085.DWD_退款成功事实表整体实现(了解业务)
  • 086.DWD_其它事实表实现思路分析
  • 087.DWD_事实表动态分流思路
  • 088.DWD_开发思路分析
  • 089.DWD_业务数据以及配置表数据读取
  • 090.DWD_在open方法中预加载配置信息
  • 091.DWD_处理广播流中的配置信息
  • 092.DWD_处理主流中的业务数据
  • 093.DWD_将动态分流的事实表写到Kafka主题
  • 094.DWS层介绍
  • 095.Doris_Doris介绍
  • 096.Doris_安装前准备工作
  • 097.Doris_Doris安装以及FE的配置
  • 098.Doris_BE的配置
  • 099.Doris_FE与BE的扩容和缩容
  • 100.Doris_基本概念
  • 101.Doris_Aggregate模型
  • 102.Doris_Unique模型和Duplicate模型
  • 103.Doris_建表其它操作
  • 104.Doris_Range分区
  • 105.Doris_List分区以及分区相关概念
  • 106.Doris_动态分区
  • 107.Doris_Rollup表
  • 108.Doris_物化视图
  • 109.Doris_Flink读写Doris_SQL
  • 110.Doris_Flink读写Doris_API
  • 111.DWS_搜索关键词思路分析
  • 112.DWS_分词工具类
  • 113.DWS_自定义UDTF函数
  • 114.DWS_开发思路分析
  • 115.DWS_读取页面日志数据创建动态表
  • 116.DWS_过滤出搜索行为
  • 117.DWS_分词并和原表字段进行关联
  • 118.DWS_分组、开窗、聚合计算
  • 119.DWS_将聚合结果写到Doris
  • 120.DWS_版本、渠道、地区、新老访客聚合统计思路分析
  • 121.DWS_读取数据并封装为统计的实体类对象
  • 122.DWS_指定Watermark的生成策略
  • 123.DWS_分组、开窗
  • 124.DWS_聚合
  • 125.DWS_将聚合结果写到Doris中
  • 126.DWS_首页、详情页聚合统计思路分析
  • 127.DWS_首页、详情页聚合统计代码实现
  • 128.DWS_独立用户以及回流用户聚合统计思路分析
  • 129.DWS_独立用户以及回流用户聚合统计代码实现
  • 130.DWS_加购独立用户思路分析
  • 131.DWS_加购独立用户代码实现
  • 132.DWS_SKU粒度下单聚合统计需求分析
  • 133.DWS_SKU粒度下单聚合统计开发思路
  • 134.DWS_从Kafka中读取数据并转换为JSON对象
  • 135.DWS_状态+定时器实现去重
  • 136.DWS_状态+抵消实现去重
  • 137.DWS_封装为统计的实体类对象
  • 138.DWS_分组、开窗、聚合计算以及测试可能遇到的问题
  • 139.DWS_在HBaseUtil中封装查询维度的方法
  • 140.DWS_维度关联最基本的实现方式
  • 141.DWS_旁路缓存思路分析
  • 142.DWS_封装RedisUtil工具类
  • 143.DWS_在Redis工具类提供读写数据的方法
  • 144.DWS_旁路缓存代码实现
  • 145.DWS_维度数据发生变化清除缓存数据
  • 146.DWS_关联SPU维度
  • 147.DWS_抽取旁路缓存模板
  • 148.DWS_通过旁路缓存模板关联SKU维度
  • 149.DWS_异步IO介绍
  • 150.DWS_封装异步操作Redis的方法
  • 151.DWS_封装异步操作HBase的方法
  • 152.DWS_发送异步请求关联Sku维度的基本实现
  • 153.DWS_发送异步请求关联Spu维度以及抽取模板
  • 154.DWS_发送异步关联维度模板代码实现
  • 155.DWS_发送异步请求关联SKU维度
  • 156.DWS_关联其它维度并将结果写到Doris
  • 157.DWS_Sku粒度下单聚合统计总结
  • 158.DWS_省份粒度下单聚合统计
  • 159.DWS_去重
  • 160.DWS_封装统计的实体类对象
  • 161.DWS_分组、开窗、聚合计算
  • 162.DWS_关联维度并将结果写到Doris
  • 163.ADS_ADS层介绍
  • 164.ADS_环境准备
  • 165.ADS_总交易额统计思路分析
  • 166.ADS_总交易额统计代码实现
  • 167.ADS_总交易额大屏展示
  • 168.ADS_省份交易额统计思路分析
  • 169.ADS_省份交易额统计代码实现
  • 170.ADS_渠道独立访客数统计思路分析
  • 171.ADS_渠道独立访客数统计代码实现
  • 172.ADS_渠道独立访客大屏展示以及常见错误避坑
  • 173.ADS_总交易额实时展示
  • 174.部署_打包
  • 175.部署_部署前准备工作
  • 176.部署_手动部署到服务器
  • 177.部署_StreamPark介绍
  • 178.部署_StreamPark安装
  • 179.部署_StreamPark其它配置
  • 180.部署_StreamPark中新建项目
  • 181.部署_构建项目
  • 182.部署_发布启动作业
  • 183.部署_合并分支
  • 184.总结