getfromcode

591 Spark+ClickHouse实战企业级数据仓库,进军大厂必备

后端开发
课程简介

数据仓库的工程化重构:当 Spark 遇见 ClickHouse 在传统的大数据开发体系中,处理海量数据的批计算往往依赖 Hadoop 生态中的 Hive 或 Spark SQL,而查询分析则常常接入 Elasticsearch 或 Drill。这种“两套栈并行”的架构不仅维护成本高昂,数据同步链路也极易成为瓶颈。本课程聚焦于一种更具工程效率的现代数据仓库…

已有 0 人浏览 发布 2026-10-08 更新 2026-10-07

数据仓库的工程化重构:当 Spark 遇见 ClickHouse

在传统的大数据开发体系中,处理海量数据的批计算往往依赖 Hadoop 生态中的 Hive 或 Spark SQL,而查询分析则常常接入 Elasticsearch 或 Drill。这种“两套栈并行”的架构不仅维护成本高昂,数据同步链路也极易成为瓶颈。本课程聚焦于一种更具工程效率的现代数据仓库架构,即以 Spark 作为 ETL 引擎负责复杂的数据清洗与建模,以 ClickHouse 作为 OLAP 引擎承载高并发的实时查询与分析。通过这一组合,开发者能够构建出兼具高吞吐写入能力和亚秒级响应速度的企业级数仓,这正是当前互联网大厂在离线数仓和实时数仓建设中广泛采用的主流技术栈之一。

从理论到落地的核心能力构建

针对有一定 Java 或 Scala 基础、熟悉 Hadoop 基础组件但缺乏完整数仓项目经验的开发者,本课程的核心价值在于填补了“会语法”与“会架构”之间的差距。学习路径建议从数据分层建模入手,深入理解 ODS、DWD、DWS 以及 ADS 层的设计逻辑,这是解决数据孤岛和口径混乱的关键。随后,重点攻克 Spark 在复杂业务场景下的性能调优技巧,包括 Shuffle 优化、内存管理以及数据倾斜处理方案。同时,课程详细拆解了 ClickHouse 的表引擎选型策略,特别是 AggregatingMergeTree 和 ReplicatedMergeTree 在大数据量下的实际表现。对于希望独立承担数据中台建设或备战大数据架构师岗位的工程师而言,掌握这套“计算与存储分离”的优化范式,意味着能够独立设计出支撑亿级数据量、支持多维度即席查询的稳定数据底座。

源码驱动的实战演练方法

本资料包并非单纯的视频讲解,而是提供了可直接运行的工程代码,方便开发者对照进行本地部署与二次开发。建议在学习过程中,严格按照“环境搭建—模型设计—SQL 实现—性能压测”的流程进行闭环练习。首先,利用提供的配置脚本搭建 Spark 集群与 ClickHouse 节点,确保网络与权限通畅;其次,对照课程中的案例数据,手动完成从原始日志到主题宽表的 ETL 流程编码,重点观察 Spark 作业的执行计划,尝试通过调整分区策略和数据压缩格式来优化 I/O 性能;最后,利用 ClickHouse 提供的性能监控工具,验证查询延迟是否达到预期指标。通过这种边看源码边动手的方式,学习者能够将抽象的架构概念转化为具体的代码经验,从而在真实的业务场景中快速复用这些最佳实践。

课程介绍

现阶段的数据开发领域,数据仓库作为企业战略决策的“大脑”,地位日益凸显,对数仓技术的掌握程度也成了大厂面试必考的一环。本课程结合ClickHouse+Spark 这一对数据处理的“黄金搭档”,选取“大数据量企业数据仓库“这一典型场景,实战大数据量下数仓的建模、设计与调优等实用技巧,快速掌握ClickHouse+Spark核心技能,为晋级大数据架构师铺路!

课程目录

数据.png (12.12 KB, 下载次数: 0) 2022-10-22 10:58 上传 课程介绍: 现阶段的数据开发领域,数据仓库作为企业战略决策的“大脑”,地位日益凸显,对数仓技术的掌握程度也成了大厂面试必考的一环。本课程结合ClickHouse+Spark 这一对数据处理的“黄金搭档”,选取“大数据量企业数据仓库“这一典型场景,实战大数据量下数仓的建模、设计与调优等实用技巧,快速掌握ClickHouse+Spark核心技能,为晋级大数据架构师铺路! 课程目录:
第1章 从0到1搭建项目开发环境,快速上手大数据开发 试看 7 节 | 55分钟 本章将从0到1搭建大数据开发环境,通过IDEA+Maven构建多module项目,实现源码、启动脚本、配置等自动构建打包。 收起列表 视频: 1-1 大数据时代,你还不知道数据仓库么? (10:28) 试看 视频: 1-2 本章概览 (02:05) 视频: 1-3 基于IDEA + Maven构建Spark工程 (12:18) 图文: 1-4 数据开发环境(Spark/Hive/Hadoop/MySQL/IDEA)搭建 图文: 1-5 Maven安装配置 视频: 1-6 源码、启动脚本、配置等自动构建打包 (13:07) 视频: 1-7 项目多模块规划与自动构建打包 (16:11)
第2章 项目关键技术准备,学习通用的数据处理技术 13 节 | 88分钟 本章对项目所用到关键技术进行封装,通过Spark UDF整合IP地址相关的转换功能、二分查找算法、通用Grok数据解析器等,并通过rewrite方式修改Grok组件源码,学习源码整合的思路。 收起列表 视频: 2-1 本章概览 (04:00) 视频: 2-2 IPv4和数值转换 (10:51) 视频: 2-3 IP地址简写和全写的格式转换 (04:23) 视频: 2-4 IP地址二分查找 (12:24) 视频: 2-5 Spark自定义IP函数 (04:26) 视频: 2-6 初识Grok通用数据解析器 (15:57) 视频: 2-7 在程序中解析Grok (07:23) 视频: 2-8 自定义Grok表达式 (06:37) 视频: 2-9 Grok工具类封装 (05:57) 视频: 2-10 在Spark中集成Grok (09:43) 视频: 2-11 Grok的序列化问题与源码修改 (05:48) 图文: 2-12 Spark源码优化,支持对MySQL的数据进行更新 作业: 2-13 【阶段作业】如何读取Grok的资源文件
第3章 项目数据准备,操练基于Spark的数据开发与优化 8 节 | 61分钟 本章主要是基于Spark,模拟生成项目所需要的基础数据和安全访问日志数据,操练基于Spark对数据进行处理与优化技术。 收起列表 视频: 3-1 本章概览 (01:31) 视频: 3-2 项目业务数据 (06:29) 视频: 3-3 生成IP、域名、IP位置的中间数据(上) (09:05) 视频: 3-4 生成IP、域名、IP位置的中间数据(下) (13:56) 视频: 3-5 生成域名备案、IP位置、违规实体数据 (09:43) 视频: 3-6 基于Grok模拟安全访问日志 (16:55) 视频: 3-7 安全访问日志生成之广播变量优化 (02:49) 作业: 3-8 【阶段作业】超大广播变量如何优化?
第4章 初识OLAP数仓架构 5 节 | 17分钟 本章主要介绍构建数仓的主流数据技术架构,以及基于ClickHouse的OLAP架构相比典型大数据架构的优势。 收起列表 视频: 4-1 本章概览 (01:09) 视频: 4-2 基于Lambda架构的数仓 (05:54) 视频: 4-3 基于Kappa架构的数仓 (02:53) 视频: 4-4 基于实时OLAP架构的数仓 (06:19) 图文: 4-5 【面试官来啦】面试讨论题
第5章 详解数据仓库基础理论,掌握数据仓库的实施流程 试看 10 节 | 48分钟 本章介绍数仓的基础理论、数据仓库的架构以及建模方法。基于当前主流的维度建模,学习数据仓库的构建流程以及分层模型的划分。 收起列表 视频: 5-1 本章概览 (02:42) 视频: 5-2 数据仓库的定义 (05:25) 视频: 5-3 3NF范式建模 (04:23) 视频: 5-4 Kimball和Inmon数据仓库架构 (04:57) 视频: 5-5 数据仓库建模方法 (06:26) 视频: 5-6 事实表与维度表 (05:58) 视频: 5-7 星型、雪花和星座维度模型 (03:27) 视频: 5-8 数据仓库构建流程 (05:21) 视频: 5-9 数据仓库分层模型 (08:48) 试看 图文: 5-10 【面试官来啦】面试讨论题
第6章 【项目实战第一篇】项目业务流程与ODS层数据同步 8 节 | 57分钟 本章首先介绍项目的业务流程与实现的效果。根据项目ODS层的规划,封装基于HDFS API同步工具,搭配多线程,实现高性能的数据同步。 针对业务数据库,封装了通用的关系型数据库的数据同步,实现将任意的库表数据同步至HDFS,可指定任意的文件格式、配置项。... 收起列表 视频: 6-1 课程目录 (01:25) 视频: 6-2 项目业务流程与技术架构 (03:26) 视频: 6-3 ODS数据同步技术架构 (05:10) 视频: 6-4 基于HDFS API的数据同步 (17:30) 视频: 6-5 基于HDFS API的数据同步工具封装 (17:37) 视频: 6-6 业务数据库的数据同步 (11:48) 作业: 6-7 【阶段作业】Spark如何读取配置文件? 作业: 6-8 【阶段作业】HDFS数据同步多线程优化
第7章 快速上手OLAP分析引擎ClickHouse 10 节 | 64分钟 本章将介绍clickhouse的主要特性和架构,并通过搭建单机版本的clickhouse,快速学习掌握ClickHouse的基本使用。同时,分享了ClickHouse学习的几点建议,以帮助同学们更深入地学习和掌握clickhouse。 收起列表 视频: 7-1 本章概览 (01:56) 视频: 7-2 初识OLAP分析引擎ClickHouse (13:10) 视频: 7-3 ClickHouse与MySQL、Hbase、Elasticsearch (05:38) 视频: 7-4 ClickHouse单机版安装 (02:22) 视频: 7-5 ClickHouse快速入门 (06:55) 视频: 7-6 ClickHouse-client使用 (14:28) 图文: 7-7 ClickHouse常用的数据格式 视频: 7-8 可视化工具DBeaver安装配置 (05:35) 视频: 7-9 ClickHouse表引擎快速入门 (05:43) 视频: 7-10 ClickHouse学习建议 (07:44)
第8章 基于Spark源码自定义ClickHouse外部数据源,简化数据写入流程 6 节 | 90分钟 本章将带领大家,自定义Spark的ClickHouse外部数据源,实现类似Spark的文件和JDBC数据源的功能,屏蔽底层实现细节,极大简化数据写入流程。 收起列表 视频: 8-1 本章概览 (02:15) 视频: 8-2 JDBC操作ClickHouse (15:35) 视频: 8-3 使用Spark将数据写入ClickHouse (14:45) 视频: 8-4 Spark写ClickHouse的配置化改造 (13:13) 视频: 8-5 在Spark中集成写ClickHouse的通用能力 (22:52) 视频: 8-6 基于Spark源码自定义ClickHouse外部数据源 (20:46)
第9章 数仓高级之维度模型设计 试看 10 节 | 54分钟 本章将系统地介绍维度设计的流程以及如何进行维度的模型设计, 通过具体的案例分析如何进行维度的整合、拆分,如何处理缓慢变化的维度, 维度的层次模型如何设计、优化,以及几种常见的维度模型等。 收起列表 视频: 9-1 本章概览 (02:24) 视频: 9-2 维度相关基本概念 (05:43) 视频: 9-3 维度设计的基本方法 (03:08) 视频: 9-4 维度设计的反规范化 (03:08) 视频: 9-5 一致性维度集成 (03:57) 视频: 9-6 维度模型设计原则和方式 (10:07) 视频: 9-7 缓慢变化维度SCD (12:40) 视频: 9-8 维度的层次关系 (06:29) 试看 视频: 9-9 其他常见的维度模型 (06:05) 图文: 9-10 【面试官来啦】面试讨论题
第10章 【项目实战第二篇】构建项目公共维度层 9 节 | 59分钟 本章基于维度模型设计的理论,采用反规范化、维度合并、维度拆分以及维度层次扁平化等维度设计方法,建立项目的公共维度层的表模型,实现易用性和性能提升,并保证维度模型的稳定性。 收起列表 视频: 10-1 本章概览 (01:56) 视频: 10-2 反规范化维度合并之应用内容的模型设计与实现 (18:41) 视频: 10-3 公共方法封装 (04:41) 视频: 10-4 维度合并拆分之IP域名备案模型设计 (02:28) 视频: 10-5 IP域名备案维度代码实现 (08:43) 视频: 10-6 违规IP域名数据入库 (07:42) 视频: 10-7 维度层次结构扁平化之IP地址段区域维度模型设计 (03:46) 视频: 10-8 IP地址段区域维度代码实现 (10:26) 作业: 10-9 【阶段作业】ClickHouse的覆盖写功能
第11章 ClickHouse的MergeTree系列引擎原理、实践与优化 25 节 | 162分钟 本章对ClickHouse MergeTree引擎进行了深入的解析,重点介绍了MergeTree系列引擎的主要特性和使用。 通过模拟大数据量的场景,实践了跳数索引以及Projection两大性能优化利器对性能提升的效果。针对MergeTree不擅长更新删除的特点, 介绍了如何对数据进行实时的更新和删除的方案... 收起列表 视频: 11-1 本章概览 (02:29) 视频: 11-2 表引擎概述 (04:36) 视频: 11-3 MergeTree引擎 (14:07) 图文: 11-4 表/列的TTL生命周期 视频: 11-5 数据片段存储合并机制与自定义分区 (12:41) 视频: 11-6 主键、索引、数据标记的工作机制 (08:34) 视频: 11-7 性能优化利器之跳数索引的基本使用 (26:18) 视频: 11-8 性能优化利器之跳数索引实现原理与使用场景 (11:31) 图文: 11-9 【重难点梳理】性能优化利器之跳数索引 视频: 11-10 性能优化利器之Projection (18:30) 图文: 11-11 【重难点梳理】性能优化利器之Projection 作业: 11-12 【阶段作业】Projection的使用有哪些限制? 视频: 11-13 ReplacingMergeTree引擎 (09:10) 图文: 11-14 【重难点梳理】ReplacingMergeTree引擎 视频: 11-15 SummingMergeTree引擎 (05:22) 图文: 11-16 【重难点梳理】SummingMergeTree引擎 视频: 11-17 AggregatingMergeTree引擎 (11:18) 图文: 11-18 【重难点梳理】AggregatingMergeTree引擎 视频: 11-19 CollapsingMergeTree引擎 (08:32) 图文: 11-20 【重难点梳理】CollapsingMergeTree引擎 视频: 11-21 VersionedCollapsingMergeTree引擎 (04:21) 图文: 11-22 【重难点梳理】VersionedCollapsingMergeTree引擎 视频: 11-23 MergeTree系列引擎选型对比 (11:09) 视频: 11-24 数据实时更新删除 (13:02) 图文: 11-25 【重难点梳理】如何实现数据的实时更新删除
第12章 数仓高级之事实表模型设计 9 节 | 45分钟 本章系统地介绍了数据仓库的六种类型的事实表以及事实表的四步设计过程。从实践应用的角度出发,详细介绍如何根据业务过程建模和分析主题建立各类事实表模型。 收起列表 视频: 12-1 本章概览 (01:34) 视频: 12-2 事实表设计过程 (09:10) 视频: 12-3 事务、无事实事实表模型设计 (08:03) 视频: 12-4 多事务事实表模型设计 (06:58) 视频: 12-5 周期快照事实表模型设计 (04:24) 视频: 12-6 累积快照事实表模型设计 (08:12) 视频: 12-7 聚集事实表模型设计 (03:17) 视频: 12-8 六类事实表对比 (03:21) 图文: 12-9 【面试官来啦】面试讨论题
第13章 【项目实战第三篇】数据清洗加工,构建项目数据明细层 13 节 | 94分钟 本章根据安全访问日志的业务处理过程,面向业务过程建模,建立事务事实表、周期性快照事实表、累积快照事实表的模型。在大数据量的场景下, 优化Spark数据处理的性能。通过Projection以及视图封装周期性快照事实表,提升性能。... 收起列表 视频: 13-1 本章概览 (01:58) 视频: 13-2 事务无事实事实表模型建模 (05:40) 视频: 13-3 日志事务事实表代码实现(上) (16:20) 视频: 13-4 日志事务事实表代码实现(下) (13:53) 视频: 13-5 日志拦截无事实事实表代码实现 (08:46) 视频: 13-6 累计快照事实表建模与代码实现 (06:50) 视频: 13-7 Spark资源参数调优 (18:42) 图文: 13-8 【重难点梳理】Spark资源参数调优 视频: 13-9 大数据量场景下的程序部署与优化实践 (11:19) 视频: 13-10 周期性快照事实表模型设计与实现 (09:57) 图文: 13-11 【重难点梳理】周期性快照事实表模型设计与实现 图文: 13-12 【面试官来啦】面试讨论题 作业: 13-13 【阶段作业】结合数据进行模型设计
第14章 构建ClickHouse分布式集群,掌握分布式环境的数据查询、写入优化方案 9 节 | 54分钟 本章详细演示了如何从零开始,构建一个分布式的ClickHouse的集群,并验证集群的高可用、容错等功能。详细解析在分布式环境下,如何对clickhouse进行数据的写入和查询的优化的实践方案。 收起列表 视频: 14-1 本章概览 (01:08) 视频: 14-2 集群规划与环境准备 (09:02) 视频: 14-3 ClickHouse集群安装配置 (13:55) 视频: 14-4 ClickHouse集群功能验证 (12:05) 视频: 14-5 ClickHouse的原子写入与去重 (04:05) 图文: 14-6 ClickHouse分布式集群部署 图文: 14-7 Zookeeper关键优化点 视频: 14-8 复制表与副本同步机制 (07:21) 视频: 14-9 分布式表与本地表 (06:13)
第15章 【项目实战第四篇】负载均衡与高可用方案实践,自定义Spark写本地分片表策略 15 节 | 85分钟 本章从JDBC代码、Nginx反向代理、CHProxy、Spark等几个方面实践数据负载均衡可高可用。Spark的负载均衡和高可用支持通过自定义本地表的数据写入,支持轮询、随机等更灵活地分片写入策略。在集群环境,演示大数据量的数据写入与优化。... 收起列表 视频: 15-1 本章概览 (01:40) 视频: 15-2 负载均衡与高可用五问 (03:54) 视频: 15-3 分布式请求的副本高可用和负载均衡 (03:16) 视频: 15-4 基于代码层面的负载均衡与高可用 (03:17) 视频: 15-5 基于Nginx反向代理TCP与HTTP的负载均衡与高可用 (18:31) 图文: 15-6 【重难点梳理】基于Nginx反向代理TCP/HTTP的负载均衡与高可用 视频: 15-7 基于Chproxy的负载均衡与高可用 (14:32) 图文: 15-8 【重难点梳理】基于Chproxy的负载均衡与高可用 视频: 15-9 Spark如何写本地表方案 (05:00) 视频: 15-10 Spark写本地表之随机策略代码实现 (16:16) 视频: 15-11 Spark写本地表之轮询策略代码实现 (04:39) 视频: 15-12 大数据量场景写ClickHouse集群的程序部署与优化 (09:34) 视频: 15-13 Spark自定义分片路由与方案总结 (03:24) 图文: 15-14 【面试官来啦】面试讨论题 作业: 15-15 【阶段作业】Spark实现分片key的自定义路由策略
第16章 【项目实战第五篇】如何选择合适的维度表存储方案 21 节 | 108分钟 本章介绍几种常见的表引擎以及ClickHouse的字典,确定在不同的场景下,如何选择维度表的存储方案。 收起列表 视频: 16-1 本章概览 (02:01) 视频: 16-2 Log系列引擎 (05:47) 视频: 16-3 MySQL引擎 (09:30) 图文: 16-4 【重难点梳理】MySQL引擎 视频: 16-5 HDFS引擎与HA配置 (09:32) 图文: 16-6 【重难点梳理】HDFS引擎与HA配置 视频: 16-7 高性能数据检索的RocksDB引擎 (09:44) 图文: 16-8 【重难点梳理】高性能数据检索的RocksDB引擎 图文: 16-9 Kafka引擎 图文: 16-10 JDBC引擎引擎 视频: 16-11 Merge表引擎 (05:03) 图文: 16-12 【重难点梳理】Merge表引擎 视频: 16-13 Join表引擎 (07:51) 图文: 16-14 【重难点梳理】Join表引擎 视频: 16-15 深入浅出ClickHouse数据字典(上) (20:47) 视频: 16-16 深入浅出ClickHouse数据字典(下) (15:25) 图文: 16-17 【重难点梳理】深入浅出ClickHouse数据字典 视频: 16-18 分布式场景的表关联子查询的运行流程与优化 (04:29) 视频: 16-19 分布式场景下的维度表存储选型优化 (05:59) 视频: 16-20 项目的维度表存储优化 (11:52) 图文: 16-21 【重难点梳理】项目的维度表存储优化
第17章 【项目实战第六篇】数据汇总层与应用查询优化 14 节 | 69分钟 面向主题建模,生成数据仓库数据汇总层(DWS)的表。在集群环境,对超千万级的项目数据进行分析、SQL优化、参数调优,演示调优前后的效果。 收起列表 视频: 17-1 本章概览 (01:40) 视频: 17-2 主键与排序键优化 (06:11) 视频: 17-3 聚合查询优化 (04:45) 视频: 17-4 物化视图提速 (05:05) 视频: 17-5 DWS层之IP流量监测主题 (14:43) 图文: 17-6 【重难点梳理】DWS层之构建IP流量监测 视频: 17-7 DWS层之区域流量分析主题 (11:20) 图文: 17-8 【重难点梳理】DWS层之构建区域流量分析主题 视频: 17-9 构建数据应用层(ADS) (16:42) 图文: 17-10 【重难点梳理】构建AWS数据应用层 视频: 17-11 应用查询优化案例 (06:21) 图文: 17-12 【重难点梳理】应用查询优化案例 视频: 17-13 数据写入与查询优化常用经验法则 (02:12) 作业: 17-14 【阶段作业】构建违规IP/域名的上下行流量聚集事实表汇总模型
第18章 【项目实战第七篇】基于轻量级BI工具的数据展示与可视化监控 13 节 | 58分钟 本章将实现在BI工具Superset和Granfana中创建Dashboard,实现可视化的面向应用的展示。 同时,在Granfana中,通过集成ClickHouse的系统表以及Prometheus两种方式,对clickhouse进行监控。 收起列表 视频: 18-1 本章概览 (01:41) 视频: 18-2 基于轻量级BI工具的数据可视化效果 (02:16) 视频: 18-3 Superset环境搭建与基本使用 (13:02) 图文: 18-4 【重难点梳理】Superset环境搭建与基本使用 视频: 18-5 Superset查询分析可视化展示 (10:50) 视频: 18-6 Grafana的安装与ClickHouse数据源管理 (07:15) 图文: 18-7 【重难点梳理】Grafana的安装与ClickHouse数据源管理 视频: 18-8 Granfana查询分析可视化展示 (09:14) 视频: 18-9 ClickHouse监控概述 (02:32) 视频: 18-10 ClickHouse系统表+ Granfana可视化监控 (02:54) 视频: 18-11 Promethues安装与ClickHouse的metric采集 (04:26) 图文: 18-12 【重难点梳理】Promethues安装与ClickHouse的metric采集 视频: 18-13 prometheus + Granfana可视化监控 (03:34)
课程购买
课程价格
金币29
290金币限时优惠会员免费
销量:0
💎 开通会员每日免费下载,比单买更划算 →
支付成功后会自动显示下载资源云盘的链接!点击链接即可下载到本地。