Spark+ClickHouse实战企业级数据仓库,进军大厂必备掌握数仓构建,完善技术体系,轻松掌握高薪技能现阶段的数据开发领域,数据仓库作为企业战略决策的“大脑”,地位日益凸显,对数仓技术的掌握程度也成了大厂面试必考的一环。本课程结合ClickHouse+Spark 这一对数据处理的“黄金搭档”,选取“大数据量企业数据仓库“这一典型场景,实战大数据量下数仓的建模、设计与调优等实用技巧,快速掌握ClickHouse+Spark核心技能,为晋级大数据架构师铺路!适合人群希望掌握实用的数据仓库建模、设计和调优能力希望快速提升的ClickHouse技术能力希望通过贴近生产实践的案例,提升大数据项目能力的同学技术储备熟悉Java/Scala基础的语法
了解SQL的基本使用
了解Spark基础
环境参数Spark 3.2ClickHouse 22.*Hadoop 3.3Scala 2.12Java 1.8
章节目录:第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 基于Kabada架构的数仓 (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分析引擎ClickHouse10 节 | 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章 【项目实战第二篇】构建项目公共维度层
本章基于维度模型设计的理论,采用反规范化、维度合并、维度拆分以及维度层次扁平化等维度设计方法,建立项目的公共维度层的表模型,实现易用性和性能提升,并保证维度模型的稳定性。
第11章 ClickHouse的MergeTree系列引擎原理、实践与优化
本章对ClickHouse MergeTree引擎进行了深入的解析,重点介绍了MergeTree系列引擎的主要特性和使用。 通过模拟大数据量的场景,实践了跳数索引以及Projection两大性能优化利器对性能提升的效果。针对MergeTree不擅长更新删除的特点, 介绍了如何对数据进行实时的更新和删除的方案…
第12章 数仓高级之事实表模型设计
本章系统地介绍了数据仓库的六种类型的事实表以及事实表的四步设计过程。从实践应用的角度出发,详细介绍如何根据业务过程建模和分析主题建立各类事实表模型。
第13章 【项目实战第三篇】数据清洗加工,构建项目数据明细层
本章根据安全访问日志的业务处理过程,面向业务过程建模,建立事务事实表、周期性快照事实表、累积快照事实表的模型。在大数据量的场景下, 优化Spark数据处理的性能。通过Projection以及视图封装周期性快照事实表,提升性能。…
第14章 构建ClickHouse分布式集群,掌握分布式环境的数据查询、写入优化方案
本章详细演示了如何从零开始,构建一个分布式的ClickHouse的集群,并验证集群的高可用、容错等功能。详细解析在分布式环境下,如何对clickhouse进行数据的写入和查询的优化的实践方案。
第15章 【项目实战第四篇】负载均衡与高可用方案实践,自定义Spark写本地分片表策略
本章从JDBC代码、Nginx反向代理、CHProxy、Spark等几个方面实践数据负载均衡可高可用。Spark的负载均衡和高可用支持通过自定义本地表的数据写入,支持轮询、随机等更灵活地分片写入策略。在集群环境,演示大数据量的数据写入与优化。…
第16章 【项目实战第五篇】如何选择合适的维度表存储方案
本章介绍几种常见的表引擎以及ClickHouse的字典,确定在不同的场景下,如何选择维度表的存储方案。
第17章 【项目实战第六篇】数据汇总层与应用查询优化
面向主题建模,生成数据仓库数据汇总层(DWS)的表。在集群环境,对超千万级的项目数据进行分析、SQL优化、参数调优,演示调优前后的效果。
第18章 【项目实战第七篇】基于轻量级BI工具的数据展示与可视化监控
本章将实现在BI工具Superset和Granfana中创建Dashboard,实现可视化的面向应用的展示。 同时,在Granfana中,通过集成ClickHouse的系统表以及Prometheus两种方式,对clickhouse进行监控。
本课程持续更新中 |