课程解决的核心工作场景
广告业务的数据处理长期面临效率与灵活性的双重矛盾。传统 MapReduce 作业虽然稳定,但迭代开发周期长、磁盘 I/O 开销大,难以应对日益增长的用户行为日志;而单纯依赖 Hive on HDFS 又无法支持高频的随机读写和点查需求。Spark SQL 通过内存计算大幅提升了批处理速度,配合 Kudu 列式存储引擎,填补了 Hadoop 生态在低延迟查询和更新操作上的短板。这门课正是针对这一典型场景:帮助数据工程师或分析师构建一套既能快速迭代分析逻辑、又能支撑毫秒级响应的现代广告数据仓库,解决从离线批处理向交互式分析转型的技术痛点。
入门门槛与推荐学习路径
本课程适合具备 Java 编程基础、熟悉 Linux 常用命令以及掌握标准 SQL 语法的读者。如果你对 Hadoop 生态圈零认知,可以直接进入学习;若有一定基础,则需重点补足 Spark 运行机制的理解。建议学习顺序如下:首先观看导学视频,明确本地开发环境搭建要点,特别注意 JDK 版本与 Maven 配置的兼容性,避免后续陷入配置陷阱;其次重点攻克 Spark SQL 核心概念,理解 DataFrame API 与 SQL 语法的映射关系,这是连接代码与数据的桥梁;再次深入 Spark 运行模式,严格区分 Local、Standalone 与 YARN 模式下的提交差异,掌握不同场景下的资源调度逻辑;最后进入 Kudu 实战环节,掌握其与 Spark 的集成配置及联合查询技巧。这种由浅入深的路径能确保你在动手写代码前,先建立起对分布式计算框架的整体认知,而非机械复制教程。
资料用法与学完后的独立产出
课程提供的视频资料强烈建议配合本地 IDEA 开发环境同步练习,读者必须亲手完成从 Maven 依赖导入、环境部署到程序提交运行的全过程。特别是在“词频统计”及“SQL on Hadoop”等实操章节,不要只看不练,应尝试修改参数观察执行计划变化,以真正熟悉 Spark Shell 交互模式与 Spark Submit 命令行工具的实际用法。学完本课程后,你将能够独立搭建 Spark 开发环境,编写高效的数据清洗与聚合脚本;能够利用 Spark SQL 对接 Hive 元数据,对广告曝光、点击等大规模数据集进行多维分析;更重要的是,你能将 Kudu 表作为高性能存储层,实现复杂查询的低延迟响应,从而独立承担企业级离线数仓的 ETL 开发或交互式报表构建任务,具备进入互联网数据团队的基础实战能力。
课程目录
第1章 课程介绍&学习指南 试看 2 节 | 13分钟 1-1 课程导学 (12:07).mp4 1-2 ***学前必读***(助你平稳踩坑,畅学无忧,课程学习与解决问题指南).mp4 第2章 为什么要学Spark 21 节 | 149分钟 2-1 课程目录 (01:55).mp4 2-2 MapReduce的槽点 (12:37).mp4 2-3 Spark特性详解 (15:24).mp4 2-4 Spark Stack (04:11).mp4 2-5 OOTB环境的使用 (06:43).mp4 2-6 JDK部署 (04:33).mp4 2-7 Maven部署 (06:37).mp4 2-8 IDEA部署 (01:40).mp4 2-9 HDFS部署 (13:42).mp4 2- 10 YARN部署 (02:16).mp4 2- 11 Hive部署 (11:50).mp4 2- 12 Spark运行模式 (03:45).mp4 2-13 使用IDEA和Maven开发第一个Spark应用程序 (15:32).mp4 2- 14 词频统计按照单词出现次数的降序排列 (05:10).mp4 2- 15 local模式下spark-shell的使用 (07:50).mp4 2-16 local模式下使用spark-submit提交Spark应用程序 (06:51).mp4 2- 17 YARN模式下提交Spark应用程序 (08:32).mp4 2- 18 Standalone模式下提交Spark应用程序 (08:13).mp4 2- 19 Hadoop和Spark生态圈对比 (06:20).mp4 2- 20 Hadoop与Spark对比 (02:30).mp4 2- 21 Spark和Hadoop的相互协作 (02:21).mp4 第3章 Spark SQL快速入门 14 节 | 88分钟 3-1 课程目录 (01:40).mp4 3-2 为什么需要SQL (06:51).mp4 3-3 SQL on Hadoop (14:52).mp4 3-4 详解Spark SQL是什么以及常见误区解读 (10:02).mp4 3-5 Spark SQL概述 (03:02).mp4 3-6 为什么要学习Spark SQL (03:40).mp4 3-7 Spark SQL架构 (07:00).mp4 3-8 spark-shell使用详解 (09:04).mp4 3-9 spark-sql使用详解并结合讲解Catalyst的执行过程 (09:16).mp4 3-10 spark-shell启动流程分析之uname以及case匹配的使用 (07:18).mp4 3-11 spark-shell启动流程分析之dirname和if的使用 (06:03).mp4 3- 12 spark-shell启动流程分析之传递参数详解 (03:54).mp4 3-13 spark-shell启动流程分析之spark-submit (02:36).mp4 3- 14 spark-sql启动流程分析 (02:29).mp4 第4章 Spark SQL API编程 12 节 | 96分钟 4-1 课程目录 (02:05).mp4 4-2 认知SparkSession (09:35).mp4 4-3 了解SQLContext (05:59).mp4 4-4 认识DataFrame (07:59).mp4 4-5 DataFrame API基本使用 (13:17).mp4 4-6 DataFrame中前N条的取值方式 (08:27).mp4 4-7 通过实战案例学习DataFrame常用API (10:21).mp4 4-8 Dataset概述及操作 (07:05).mp4 4-9 DataFrame vs Dataset (06:46).mp4 4- 10 Interoperating with RDD概述 (04:38).mp4 4- 11 实现方式一 (11:07).mp4 4- 12 实现方式二 (07:58).mp4 第5章 Data Source API 11 节 | 70分钟 5-1 课程目录 (05:13).mp4 5-2 Data Source概述 (04:58).mp4 5-3 text数据源读写案例 (08:49).mp4 5-4 SaveMode的使用详解 (05:25).mp4 5-5 json数据源案例 (07:33).mp4 5-6 Data Source API标准写法 (06:15).mp4 5-7 Parquet数据源案例 (04:18).mp4 5-8 Data Source格式转换 (03:15).mp4 5-9 jdbc数据源案例 (10:42).mp4 5- 10 通过统一配置参数管理工程中使用到的参数 (12:53).mp4 5-11 【讨论题】关于拉链表得思考.mp4 第6章 整合Hive操作及函数 9 节 | 59分钟 6-1 课程目录 (03:01).mp4 6-2 Spark对接Hive的原理及实操 (09:23).mp4 6-3 thriftserver&beeline的使用 (08:11).mp4 6-4 使用代码连接Server (04:55).mp4 6-5 Server模式vs例行作业模式(思考题) (04:12).mp4 6-6 hive数据源案例 (09:00).mp4 6-7 Spark SQL内置函数实战 (10:41).mp4 6-8 Spark SQL自定义UDF实战 (09:25).mp4 6-9 【讨论题】关于Spark ThriftServer的HA问题.mp4 第7章 Kudu入门 7 节 | 73分钟 7-1 课程目录 (01:28).mp4 7-2 kudu概述&核心概念&架构 (21:30).mp4 7-3 kudu部署 (14:10).mp4 7-4 API操作之创建表 (10:28).mp4 7-5 API操作之插入数据&删除表&数据查询 (10:00).mp4 7-6 API操作之修改表数据及表名 (04:58).mp4 7-7 Spark整合Kudu的读写操作 (10:01).mp4 第8章 基于Spark SQL和Kudu的广告业务项目实战(一) 12 节 | 118分钟 8-1 课程目录 (02:08).mp4 8-2 广告业务背景 (10:00).mp4 8-3 项目需求 (02:47).mp4 8-4 项目架构及数据处理流程 (22:04).mp4 8-5 日志字段说明 (10:27).mp4 8-6 需求一之IP规则库解析 (13:16).mp4 8-7 需求一之使用API编程完成日志ip字段解析 (09:08).mp4 8-8 需求一之使用SQL方式完成日志ip字段解析 (05:49).mp4 8-9 需求一之ODS数据落地到Kudu (09:32).mp4 8- 10 需求一之落地到Kudu表重构 (09:31).mp4 8- 11 需求二功能实现 (13:20).mp4 8- 12 需求一二代码结构大重构 (09:04).mp4 第9章 基于Spark SQL和Kudu的广告业务项目实战(二) 9 节 | 80分钟 9-1 课程目录 (02:02).mp4 9-2 需求三之第一阶段统计功能实现 (18:17).mp4 9-3 需求三之第二阶段统计功能实现 (03:56).mp4 9-4 需求三之统计结果落地到Kudu (03:43).mp4 9-5 需求四功能实现 (07:35).mp4 9-6 通过参数传递到Spark作业重构代码并打包 (15:19).mp4 9-7 将项目运行在服务器上 (14:22).mp4 9-8 定时调度提交Spark作业到服务器运行 (10:00).mp4 9-9 本章节小结 (03:47).mp4 第10章 Spark调优策略 10 节 | 67分钟 10-1 课程目录 (03:07).mp4 10-2 调优之资源设置 (11:45).mp4 10-3 广播变量在Spark中的使用一 (13:10).mp4 10-4 广播变量在Spark中是使用二 (05:31).mp4 10-5 广播变量思考题(重要) (02:42).mp4 10-6 Shuffle调优 (07:34).mp4 10-7 Spark与GC相关概念理解 (07:41).mp4 10-8 JVM GC引起的问题调优 (07:32).mp4 10-9 其他调优 (07:21).mp4 10-10 【讨论题】关于数据倾斜的思考.mp4 第11章 Presto初识 8 节 | 53分钟 11-1 课程目录 (02:35).mp4 11-2 Presto是什么&能做什么&谁在使用它 (08:09).mp4 11-3 Presto架构 (06:19).mp4 11-4 Presto部署 (11:08).mp4 11-5 整合MySQL Connector (08:11).mp4 11-6 整合Hive Connector (04:36).mp4 11-7 Presto整合多个Connector操作 (06:43).mp4 11-8 Presto API操作 (05:17).mp4 第12章 云平台建设的思考 11 节 | 59分钟 12-1 课程目录 (02:58).mp4 12-2 大数据项目和平台的差异性对比 (06:59).mp4 12-3 认知云平台能为我们提供的能力 (07:45).mp4 12-4 大数据云平台功能架构 (09:52).mp4 12-5 数据湖架构 (05:41).mp4 12-6 数据存储和计算角度剖析 (07:57).mp4 12-7 资源角度剖析 (05:25).mp4 12-8 兼容性角度剖析 (03:54).mp4 12-9 执行引擎和运行方式适配角度剖析 (02:46).mp4 12- 10 Spark和Flink的选择 (05:28).mp4 12-11 【讨论题】关于小文件的思考.mp4 第13章 (讨论群内直播内容分享)Spark3新特性 6 节 | 47分钟 13-1 Spark概述 (15:30).mp4 13-2 Spark3.x新特性 (05:13).mp4 13-3 DataSource API V2 (09:51).mp4 13-4 动态分区裁剪 (06:34).mp4 13-5 自适应查询执行 (08:57).mp4 13-6 【讨论题】简历项目问题.mp4 第14章 【福利加餐】Spark SQL必考的SQL功能及窗口函数 19 节 | 92分钟 14-1 课程目录 (01:30).mp4 14-2 行转列功能需求分析 (04:40).mp4 14-3 行转列数据准备 (01:29).mp4 14-4 列转行功能需求分析 (02:52).mp4 14-5 转行功能实现 (03:52).mp4 14-6 窗口函数概述 (09:32).mp4 14-7 窗口函数之累计求和操作 (06:10).mp4 14-8 窗口函数之窗口划分原则 (08:38).mp4 14-9 窗口函数之NTILE的使用 (06:16).mp4 14-10 窗口函数之ROW_NUMBER&RANK&DENSE_RANK (05:29).mp4 14- 11 窗口函数之LEAD&LAG (06:53).mp4 14-12 窗口函数之FIRST_VALUE和LAST_VALUE (02:43).mp4 14-13 窗口函数之CUME_DIST&PERCENT_RANK (07:00).mp4 14- 14 窗口函数实战之数据准备 (02:31).mp4 14- 15 窗口函数实战之功能一实现 (13:05).mp4 14- 16 窗口函数实战之功能二实现 (02:52).mp4 14- 17 窗口函数实战之功能三实现 (02:39).mp4 14- 18 窗口函数实战之功能四实现 (02:00).mp4 14- 19 作业 (01:22).mp4 第15章 【福利加餐】基于Spark SQL的UDF函数开发及使用 6 节 | 50分钟 15-1 01-课程目录 (02:25).mp4 15-2 02-SQL结合自定义UDF函数 (13:43).mp4 15-3 03-API结合自定义UDF函数 (04:39).mp4 15-4 04-自定义UDF函数实现拼接功能 (11:59).mp4 15-5 05-自定义UDAF函数 (13:04).mp4 15-6 06-自定义UDAF函数扩展 (04:09).mp4






