getfromcode

尚硅谷大数据项目之Flink电商实时数仓5.0

云计算/大数据
课程简介

为什么要做这套实时数仓实战 很多开发者学完 Flink 基础语法、写过几个 WordCount 或简单的流处理 Demo 之后,都会卡在同一个问题上:不知道怎么把零散的组件串成一条能跑在生产环境的完整链路。电商场景的数据量、业务复杂度和实时性要求,刚好是检验实时数仓能力的典型样本——既要扛住大促期间的点击流峰值,又要保证订单、支付、用户等业务数据的一致性,…

已有 79 人浏览 发布 2026-01-12 更新 2026-09-29

为什么要做这套实时数仓实战

很多开发者学完 Flink 基础语法、写过几个 WordCount 或简单的流处理 Demo 之后,都会卡在同一个问题上:不知道怎么把零散的组件串成一条能跑在生产环境的完整链路。电商场景的数据量、业务复杂度和实时性要求,刚好是检验实时数仓能力的典型样本——既要扛住大促期间的点击流峰值,又要保证订单、支付、用户等业务数据的一致性,还要给下游报表、风控、推荐等业务方提供稳定的数据服务。

这套资料瞄准的就是「从会用 API 到能搭完整实时数仓」的断层。它不是把 Flink、Kafka、Doris 这些组件的文档挨个念一遍,而是直接拿电商业务当背景,从数据怎么进、怎么分层、怎么清洗、怎么聚合,一直讲到任务怎么部署、怎么监控、怎么和离线数仓配合。你拿到的不是一堆知识点堆砌,而是一条可以直接照着搭、照着改的实时数据流水线。

技术栈和架构特点

核心计算引擎用的是 Flink 1.17,这是近几年比较稳定的一个版本,很多企业生产环境还在这个大版本上。配套的组件也都选了偏主流、偏生产的版本:Kafka 做消息队列承接实时流量,Flink CDC 做业务库的实时同步,Doris 做最终的多维分析存储,StreamPark 负责任务的发布和运维。整个链路没有用太偏门的工具,你学完之后换一家公司,大概率也能在技术栈上找到对应位置。

架构上最值得看的是分层设计和流批一体的思路。实时数仓不是把数据从左搬到右就完事,它分成了明细层、中间层、服务层三层,每一层解决不同的问题:明细层保证数据干净可回溯,中间层沉淀通用的业务聚合逻辑,服务层直接对接下游应用。同时这条实时链路又和离线数仓的分层模型对齐,实时算不动的、对一致性要求极高的指标,可以用离线结果兜底,不会出现实时和离线两套口径完全对不上的情况。

适合什么基础,从哪开始看

如果你已经有一点大数据基础,比如写过 Hive SQL、搭过 Kafka 集群、知道 Flink 的 DataStream 和 Table API 大概是干什么的,那这套资料可以直接当项目实战来用。完全零基础的话不建议一上来就啃,最好先补一下 Flink 基础编程和 Linux 环境下组件部署的常识,不然很容易卡在环境配置上,把项目课上成排错课。

建议的阅读顺序是:先看整体架构图和数据流向,搞清楚每一层输入输出分别是什么、用了哪些组件,不要一上来就扎进某个算子的实现里。然后从数据采集层开始往下走,先把日志数据和业务数据两条接入链路跑通,保证 Kafka 里有稳定的数据流。接着再按 DWD、DWM、DWS 的顺序逐层实现,每做完一层就验证一下数据质量,别等全写完了再回头找脏数据是从哪来的。最后再看任务部署和监控部分,把整条链路从「能跑」变成「能运维」。

学完能独立做什么

把这套资料跟完、自己动手搭一遍之后,你应该能独立完成一个中小型电商场景的实时数仓搭建。具体来说,你会知道怎么用 Flink CDC 把 MySQL 里的订单、用户、商品数据实时同步到 Kafka,怎么对点击流日志做清洗和格式化,怎么设计分层表结构来避免重复计算,怎么用 Flink SQL 做实时的订单聚合、用户行为统计、GMV 大盘等常见指标,最后怎么把结果写到 Doris 里供 BI 工具查询。

更重要的是,你会积累一整套处理实时数据问题的工程经验。比如数据迟到了怎么处理、状态太大了怎么调优、Exactly-Once 怎么在端到端链路上保证、实时任务挂了怎么快速恢复、怎么和离线数仓做数据对账。这些经验不是看 API 文档能学到的,必须在一个完整的项目链路里踩过坑才能理解。你甚至可以把这套架构直接套用到其他行业的实时数据场景里,比如零售的门店实时销售、互联网的用户行为分析、物流的运单状态追踪,核心思路都是通的。

资料怎么配合练习

这套资料最大的价值在于可复现,所以千万别只看不动手。建议你先准备一台配置够的机器或者虚拟机集群,把所有组件按版本装一遍,环境尽量和资料里保持一致,避免因为版本差异引出不必要的问题。然后每学完一个模块,就自己把对应环节的代码和配置重写一遍,不要直接复制粘贴——尤其是 Flink SQL 部分,自己敲一遍和看着答案念一遍,理解深度完全不一样。

练习的时候可以主动给自己加需求。比如资料里实现了实时 GMV 指标,你可以试着加一个按省份、按渠道拆分的维度;资料里用了一种窗口计算,你可以换成另一种窗口对比一下结果差异。还可以故意制造一些故障,比如把 Kafka 某个分区停掉、把 Flink 任务杀掉重启、往数据源里灌脏数据,看看整条链路的容错表现是什么样的。只有把「正常跑通」和「出问题怎么修」都练过,这套项目经验才真正是你的。

课程介绍

尚硅谷《Flink电商实时数仓5.0》课程是针对大数据实时处理领域的进阶实战项目,其核心特点如下:


一、技术架构升级

  1. ‌全新技术栈‌
    采用Flink 1.17.1作为核心计算引擎,配套Hadoop3.3.4、Kafka 3.6.1、Doris 2.1.0等组件,实现从数据采集到存储的全流程实时化处理‌。

    • 新增FlinkCDC 2.4.2实现实时业务数据同步,替代传统批量同步工具‌
    • 通过StreamPark 2.1.4进行任务部署与监控,支持GitFlow版本控制‌
  2. ‌流批一体设计‌
    与离线数仓无缝对接,兼容实时与批量数据处理需求,支持海量电商点击日志与业务数据的混合计算‌。


二、核心教学内容

  1. ‌实时数据处理链路‌

    • 数据采集:集成Flume、Maxwell实现实时日志与业务数据捕获‌
    • 分层架构:构建DWD(明细层)、DWM(中间层)、DWS(服务层)三层实时数仓模型,解决重复计算问题‌
    • 维度管理:将DIM层数据存储于HBase,保障维度查询效率与数据完整性‌
  2. ‌性能优化策略‌

    • Flink引擎优化:包括MiniBatch聚合、LocalGlobal热点数据处理、Split Distinct去重等关键技术‌
    • TopN算法改进:通过无排名优化、缓存扩容提升实时排行榜计算性能‌

三、项目实战特色

  1. ‌工业级场景还原‌
    复刻字节跳动、拼多多等大厂实时数仓架构,涵盖用户行为分析、实时大屏、精准推荐等典型电商场景‌。

  2. ‌AI辅助开发‌
    课程融合AI工具辅助架构设计、代码优化,培养学员的AI驱动开发能力‌。

  3. ‌全流程可视化教学‌
    通过架构图解、代码逐行解析、StreamPark可视化监控演示,降低学习门槛‌。


四、适用人群与学习路径

  • ‌目标群体‌:具备Linux、Flink基础的大数据开发者,尤其适合希望转型实时计算方向的从业者‌
  • ‌学习成果‌:掌握Flink实时计算全流程开发、企业级数仓建模、性能调优等硬核技能‌

课程目录

/15-051-尚硅谷大数据项目之Flink电商实时数仓5.0/
│├─1.笔记.zip 42.7MB
│├─2.资料.zip 6.6GB
│├─3.代码.zip 472byte
│├─视频
视频/
│├─001_课程介绍.mp4 42.1MB
│├─002_基础_数仓基本概念.mp4 20.3MB
│├─003_基础_离线数仓架构.mp4 15.5MB
│├─004_基础_实时数仓架构.mp4 50.4MB
│├─005_基础_ER模型和维度建模.mp4 68.9MB
│├─006_基础_事实表和维度表.mp4 90.5MB
│├─007_基础_数仓构建流程.mp4 130.3MB
│├─008_基础_项目架构以及代码版本控制方式介绍.mp4 137.7MB
│├─009_基础_IDEA开发环境搭建.mp4 114.3MB
│├─010_环境准备_GitLab的安装.mp4 96.3MB
│├─011_环境准备_GitLab的其它配置.mp4 94.7MB
│├─012_环境准备_创建用户以及群组.mp4 96.3MB
│├─013_环境准备_将初始代码推送到GitLab仓库.mp4 162.2MB
│├─014_环境准备_设置Kafka分区数.mp4 59.8MB
│├─015_ODS_日志数据采集.mp4 121.4MB
│├─016_ODS_配置binlog记录业务数据变化.mp4 130.7MB
│├─017_ODS_Maxwell的安装与配置.mp4 161.3MB
│├─018_ODS_Maxwell同步数据测试.mp4 103.9MB
│├─019_DIM_思路分析_基本流程.mp4 77.9MB
│├─020_DIM_思路分析_引入配置表.mp4 142.4MB
│├─021_DIM_思路分析_引入FlinkCDC.mp4 98.7MB
│├─022_DIM_思路分析_配置表字段完善.mp4 73.9MB
│├─023_DIM_FlinkCDC的使用().mp4 163MB
│├─024_DIM_配置表的创建以及切换开发分支.mp4 60.3MB
│├─025_DIM_开发思路分析.mp4 88MB
│├─026_DIM_基本环境准备以及检查点设置.mp4 121.1MB
│├─027_DIM_从Kafka主题中读取数据.mp4 148.8MB
│├─028_DIM_转换流中数据类型以及Maxwell问题说明.mp4 181.1MB
│├─029_DIM_使用FlinkCDC读取配置表数据.mp4 82MB
│├─030_DIM_将配置流数据类型封装为实体类对象.mp4 94.7MB
│├─031_DIM_封装HBaseUtil工具类.mp4 164.9MB
│├─032_DIM_在HBase中建表.mp4 118.4MB
│├─033_DIM_广播配置流并和主流进行关联.mp4 121.1MB
│├─034_DIM_处理广播流数据.mp4 78.7MB
│├─035_DIM_处理主流数据.mp4 143MB
│├─036_DIM_过滤掉不需要传递的字段.mp4 173.7MB
│├─037_DIM_主流数据先到问题分析.mp4 107.4MB
│├─038_DIM_在open方法中预加载配置信息.mp4 135.2MB
│├─039_DIM_将维度数据同步到HBase表中.mp4 227MB
│├─040_DIM_封装FlinkSourceUtil工具类.mp4 114.5MB
│├─041_DIM_抽取单独的处理函数类.mp4 111.5MB
│├─042_DIM_抽取BaseApp基类.mp4 173.8MB
│├─043_DIM_抽取方法[].mp4 61.8MB
│├─044_DIM_封装JdbcUtil工具类.mp4 153MB
│├─045_DIM_DIM层总结.mp4 125.1MB
│├─046_DWD_DWD层介绍【】.mp4 49.9MB
│├─047_DWD_日志分流思路分析.mp4 71.8MB
│├─048_DWD_开发思路分析.mp4 74.4MB
│├─049_DWD_将脏数据放到侧输出流.mp4 99.9MB
│├─050_DWD_创建KafkaSink对象以及Kafka一致性保证.mp4 213.5MB
│├─051_DWD_抽取FlinkSinkUtil以及脏数据写到Kafka.mp4 41.3MB
│├─052_DWD_新老访客标记修复思路.mp4 112.6MB
│├─053_DWD_新老访客标记修复代码实现.mp4 154.2MB
│├─054_DWD_埋点日志结构分析.mp4 58.9MB
│├─055_DWD_分流代码实现.mp4 210.9MB
│├─056_DWD_将不同流的数据写到Kafka主题.mp4 87.3MB
│├─057_DWD_抽取方法以及提交代码到GitLab.mp4 132.2MB
│├─058_DWD_评论事实表思路分析.mp4 65.3MB
│├─059_DWD_FlinkAPI双流join介绍.mp4 233.5MB
│├─060_DWD_内连接.mp4 146MB
│├─061_DWD_左外连接.mp4 153.7MB
│├─062_DWD_右外连接以及全外连接.mp4 65.4MB
│├─063_DWD_左外连接结果写到kafka主题.mp4 154.6MB
│├─064_DWD_从Kafka主题中读取数据.mp4 81.4MB
│├─065_DWD_从HBase表中读取数据.mp4 91.7MB
│├─066_DWD_lookupJoin关联.mp4 173.4MB
│├─067_DWD_将关联结果写到Kafka主题.mp4 45MB
│├─068_DWD_评论事实表开发思路以及环境准备.mp4 104.5MB
│├─069_DWD_从topic_db主题中读取数据.mp4 101.9MB
│├─070_DWD_过滤出评论数据.mp4 127.3MB
│├─071_DWD_从Hbase中读取字典表数据.mp4 61.5MB
│├─072_DWD_关联评论表和字典表.mp4 66.5MB
│├─073_DWD_将关联的结果写到Kafka主题.mp4 67.6MB
│├─074_DWD_抽取工具类封装获取连接器属性的方法.mp4 122.8MB
│├─075_DWD_抽取BaseSQLApp基类以及通用的建表方法.mp4 181.1MB
│├─076_DWD_加购事实表开发思路分析.mp4 90.9MB
│├─077_DWD_过滤出insert类型的加购数据.mp4 80.7MB
│├─078_DWD_过滤出update类型的加购数据以及写到Kafka.mp4 121MB
│├─079_DWD_下单事实表思路分析.mp4 95.1MB
│├─080_DWD_下单事实表代码实现.mp4 174.6MB
│├─081_DWD_取消订单事实表整体实现.mp4 176MB
│├─082_DWD_支付成功事实表思路分析.mp4 128.6MB
│├─083_DWD_支付成功事实表代码实现.mp4 213.6MB
│├─084_DWD_退单事实表整体实现(了解业务).mp4 127.8MB
│├─085_DWD_退款成功事实表整体实现(了解业务).mp4 110.6MB
│├─086_DWD_其它事实表实现思路分析.mp4 83.5MB
│├─087_DWD_事实表动态分流思路.mp4 74.6MB
│├─088_DWD_开发思路分析.mp4 97.5MB
│├─089_DWD_业务数据以及配置表数据读取.mp4 124.3MB
│├─090_DWD_在open方法中预加载配置信息.mp4 107MB
│├─091_DWD_处理广播流中的配置信息.mp4 67.3MB
│├─092_DWD_处理主流中的业务数据.mp4 79.6MB
│├─093_DWD_将动态分流的事实表写到Kafka主题.mp4 172.1MB
│├─094_DWS层介绍().mp4 109.9MB
│├─095_Doris_Doris介绍.mp4 156.8MB
│├─096_Doris_安装前准备工作.mp4 144.6MB
│├─097_Doris_Doris安装以及FE的配置.mp4 128.1MB
│├─098_Doris_BE的配置〔〕.mp4 142.3MB
│├─099_Doris_FE与BE的扩容和缩容.mp4 122.3MB
│├─100_Doris_基本概念.mp4 59.5MB
│├─101_Doris_Aggregate 模型.mp4 90.1MB
│├─102_Doris_Unique模型和Duplicate模型.mp4 74.5MB
│├─103_Doris_建表其它操作.mp4 58.8MB
│├─104_Doris_Range分区.mp4 78.4MB
│├─105_Doris_List分区以及分区相关概念.mp4 139MB
│├─106_Doris_动态分区〖〗.mp4 208.5MB
│├─107_Doris_Rollup表[].mp4 150.5MB
│├─108_Doris_物化视图[].mp4 98.9MB
│├─109_Doris_Flink读写Doris_SQL.mp4 156.3MB
│├─110_Doris_Flink读写Doris_API.mp4 150.4MB
│├─111_DWS_搜索关键词思路分析.mp4 100.8MB
│├─112_DWS_分词工具类.mp4 76.8MB
│├─113_DWS_自定义UDTF函数.mp4 77.9MB
│├─114_DWS_开发思路分析.mp4 66.8MB
│├─115_DWS_读取页面日志数据创建动态表.mp4 130.1MB
│├─116_DWS_过滤出搜索行为.mp4 79.8MB
│├─117_DWS_分词并和原表字段进行关联.mp4 69.3MB
│├─118_DWS_分组、开窗、聚合计算.mp4 104.6MB
│├─119_DWS_将聚合结果写到Doris.mp4 163.4MB
│├─120_DWS_版本、渠道、地区、新老访客聚合统计思路分析.mp4 170.6MB
│├─121_DWS_读取数据并封装为统计的实体类对象.mp4 170.7MB
│├─122_DWS_指定Watermark的生成策略.mp4 55.9MB
│├─123_DWS_分组、开窗.mp4 179.6MB
│├─124_DWS_聚合{}.mp4 84.1MB
│├─125_DWS_将聚合结果写到Doris中.mp4 140.1MB
│├─126_DWS_首页、详情页聚合统计思路分析.mp4 92MB
│├─127_DWS_首页、详情页聚合统计代码实现.mp4 205.4MB
│├─128_DWS_独立用户以及回流用户聚合统计思路分析.mp4 105.7MB
│├─129_DWS_独立用户以及回流用户聚合统计代码实现.mp4 176.2MB
│├─130_DWS_加购独立用户思路分析.mp4 66.7MB
│├─131_DWS_加购独立用户代码实现.mp4 192.3MB
│├─132_DWS_sku粒度下单聚合统计需求分析.mp4 110MB
│├─133_DWS_sku粒度下单聚合统计开发思路.mp4 126.7MB
│├─134_DWS_从kafka中读取数据并转换为JSON对象.mp4 62.5MB
│├─135_DWS_状态+定时器实现去重.mp4 168.2MB
│├─136_DWS_状态+抵消实现去重.mp4 134.5MB
│├─137_DWS_封装为统计的实体类对象.mp4 95.7MB
│├─138_DWS_分组、开窗、聚合计算以及测试可能遇到的问题.mp4 114.7MB
│├─139_DWS_在HBaseUtil中封装查询维度的方法.mp4 187.2MB
│├─140_DWS_维度关联最基本的实现方式.mp4 129.9MB
│├─141_DWS_旁路缓存思路分析.mp4 84.1MB
│├─142_DWS_封装RedisUtil工具类.mp4 86.9MB
│├─143_DWS_在Redis工具类提供读写数据的方法.mp4 85.5MB
│├─144_DWS_旁路缓存代码实现.mp4 129.1MB
│├─145_DWS_维度数据发生变化清除缓存数据.mp4 88.9MB
│├─146_DWS_关联SPU维度.mp4 91.7MB
│├─147_DWS_抽取旁路缓存模板.mp4 125.6MB
│├─148_DWS_通过旁路缓存模板关联SKU维度.mp4 71.8MB
│├─149_DWS_异步IO介绍.mp4 127.7MB
│├─150_DWS_封装异步操作Redis的方法.mp4 83MB
│├─151_DWS_封装异步操作HBase的方法.mp4 108.6MB
│├─152_DWS_发送异步请求关联sku维度的基本实现.mp4 135.7MB
│├─153_DWS_发送异步请求关联spu维度以及抽取模板.mp4 91.5MB
│├─154_DWS_发送异步关联维度模板代码实现.mp4 186.5MB
│├─155_DWS_发送异步请求关联SKU维度.mp4 62.5MB
│├─156_DWS_关联其它维度并将结果写到Doris.mp4 164MB
│├─157_DWS_sku粒度下单聚合统计总结.mp4 209.5MB
│├─158_DWS_省份粒度下单聚合统计.mp4 71MB
│├─159_DWS_去重【】.mp4 119MB
│├─160_DWS_封装统计的实体类对象.mp4 87.7MB
│├─161_DWS_分组、开窗、聚合计算.mp4 52.8MB
│├─162_DWS_关联维度并将结果写到Doris.mp4 62.9MB
│├─163_ADS_ADS层介绍().mp4 84MB
│├─164_ADS_环境准备.mp4 153.1MB
│├─165_ADS_总交易额统计思路分析.mp4 86.3MB
│├─166_ADS_总交易额统计代码实现.mp4 130.2MB
│├─167_ADS_总交易额大屏展示.mp4 113.8MB
│├─168_ADS_省份交易额统计思路分析.mp4 68.1MB
│├─169_ADS_省份交易额统计代码实现.mp4 126.6MB
│├─170_ADS_渠道独立访客数统计思路分析.mp4 84.4MB
│├─171_ADS_渠道独立访客数统计代码实现.mp4 145.9MB
│├─172_ADS_渠道独立访客大屏展示以及常见错误避坑.mp4 125.3MB
│├─173_ADS_总交易额实时展示.mp4 241.1MB
│├─174_部署_打包.mp4 98.8MB
│├─175_部署_部署前准备工作.mp4 52.2MB
│├─176_部署_手动部署到服务器.mp4 232.5MB
│├─177_部署_StreamPark介绍().mp4 86.4MB
│├─178_部署_StreamPark安装〔〕.mp4 144MB
│├─179_部署_StreamPark其它配置.mp4 62.7MB
│├─180_部署_StreamPark中新建项目.mp4 51.5MB
│├─181_部署_构建项目.mp4 72.6MB
│├─182_部署_发布启动作业.mp4 116.2MB
│├─183_部署_合并分支.mp4 30.3MB
│├─184_总结『』.mp4 178.8MB

课程购买
课程价格
金币29
290金币限时优惠会员免费
销量:0
💎 开通会员每日免费下载,比单买更划算 →
支付成功后会自动显示下载资源云盘的链接!点击链接即可下载到本地。