先说这门课解决什么问题

日志分析是大数据岗位最常见的实操场景。业务日志量大、格式杂,传统工具跑不动,而 Spark SQL 能把复杂的分布式计算封装成类 SQL 语句,让不会 Scala 或 Java 的开发也能快速上手。这门课不空讲原理,而是围绕“慕课网”真实的用户行为日志,带你走完从数据采集到报表输出的全流程。你会明白:为什么日志要清洗、为什么要用 DataFrame API 而不用 RDD、如何把多次 Join 和聚合优化成一次执行计划,以及最终怎么把结果存回 HDFS 或 MySQL 供前端调用。

与纯理论课不同,这里的核心价值在于“端到端闭环”。你不再只会在单机上跑 WordCount,而是能在集群环境下处理百万级以上的真实日志文件,输出按时间、用户、页面维度统计的报表。这正是中小厂数据分析师和初级大数据开发者的日常工作内容。

适合什么基础,建议先看哪几块

课程前置门槛不高,但需要一点 Linux 操作经验和 SQL 基础。如果你从来没接触过命令行,或者连 where、group by 都写不利索,建议先补一补这两块。课程第一章花了大量篇幅讲 Hadoop 生态,包括 HDFS 存储原理、YARN 资源调度、Hive 环境搭建。这部分看似冗长,却是理解 Spark 底层依赖的关键。Spark 并不孤立存在,它往往运行在 YARN 上,读取 HDFS 中的文件,并将结果写入 Hive 表。如果你跳过这些直接看 Spark 代码,遇到问题时很难排查。

建议学习路径如下:先完整过完第一章的前半部分,重点搞懂 HDFS 的文件块机制和 YARN 的 ApplicationMaster 概念,然后进入 Hive 章节,亲手搭建一次 Hive 环境并运行几条带窗口函数的查询。这部分大约需要 10 到 15 小时。之后再看第二章 Spark 概述,理解 RDD、DataFrame 和 DataSet 的区别。最后进入核心的 Spark SQL 章节,跟随视频完成日志解析、去重、关联分析和可视化图表生成。不要倍速,尤其是代码敲写环节,跟着动手一次比看十遍都有效。

学完能独立做什么,资料怎么用

完成本课程后,你可以独立承担中等规模的日志离线分析任务。具体表现为:能够编写 Spark 程序解析 Nginx 或应用层产生的 JSON/日志文本;能利用 Spark SQL 进行多表关联,处理用户行为路径分析;能结合 Hive 将处理结果持久化,并通过 JDBC 导出到关系型数据库。这在面试中是一个可展示的项目点,也能直接复用到实际工作中。

资料包提供了完整的镜像文件和实验脚本,不要只用来看。建议在本地或虚拟机中搭建一套 Mini 集群,哪怕只用一台机器模拟三节点,也要把环境从零启动到跑通第一个作业。遇到报错是常态,试着查看 Spark UI 的执行计划和日志,这才是提升调试能力的唯一途径。课程里的日志数据集通常是脱敏后的真实样本,你可以尝试修改其中的字段逻辑,比如增加“是否购买”的判断条件,或者统计每小时的用户留存率,把学到的知识点迁移到新场景里。

课程目录

第1章 初探大数据 试看 

25 节 | 228分钟 1-1 导学 (12:29).mp4
 1-2 -如何学好大数据 (02:55).mp4
 1-3 -开发环境介绍 (06:11).mp4
 1-4 -OOTB镜像文件使用介绍 (10:18).mp4
 1-5 -大数据概述 (09:28).mp4
 1-6 -Hadoop概述 (15:26).mp4
 1-7 -HDFS概述及设计目标 (08:20).mp4
 1-8 -HDFS架构 (10:58).mp4
 1-9 -HDFS副本机制 (06:57).mp4
 1-

10 -Hadoop下载及JDK安装 (11:47).mp4
 1-

11 -机器参数设置 (05:59).mp4
 1-

12 -HDFS核心配置文件内容配置 (07:29).mp4
 1-

13 -HDFS格式化及启停 (07:53).mp4
 1-

14 -HDFS shell常用操作 (08:54).mp4
 1-

15 -HDFS优缺点 (02:23).mp4
 1-

16 -MapReduce概述 (05:37).mp4
 1-17 -MapReduce编程模型及WordCount案例 (08:08).mp4
 1-

18 -YARN产生背景 (05:29).mp4
 1-

19 -YARN架构和执行流程 (15:29).mp4
 1-

20 -YARN环境搭建及提交作业到YARN上运行 (14:02).mp4
 1-

21 -Hive产生背景及Hive是什么 (11:00).mp4
 1-

22 -为什么要使用Hive及Hive发展历程 (08:29).mp4
 1-

23 -Hive体系架构及部署架构 (06:39).mp4
 1-

24 -Hive环境搭建 (11:53).mp4
 1-

25 -Hive基本使用 (13:16).mp4
 第2章 Spark及其生态圈概述 7 节 | 53分钟 2-1 -课程目录 (02:13).mp4
 2-2 -Spark概述及特点 (10:03).mp4
 2-3 -Spark产生背景 (10:11).mp4
 2-4 -Spark发展历史 (02:13).mp4
 2-5 -Spark Survey (08:30).mp4
 2-6 -Spark对比Hadoop (15:47).mp4
 2-7 -Spark和Hadoop的协作性 (03:36).mp4
 第3章 实战环境搭建 6 节 | 73分钟 3-1 -课程目录 (01:58).mp4
 3-2 -Spark源码编译 (23:46).mp4
 3-3 补录:Spark源码编译中的坑 (16:23).mp4
 3-4 Spark Local模式环境搭建 (06:53).mp4
 3-5 Spark Standalone模式环境搭建 (16:29).mp4
 3-6 Spark简单使用 (06:32).mp4
 第4章 Spark SQL概述 6 节 | 44分钟 4-1 课程目录 (01:41).mp4
 4-2 -Spark SQL前世今生 (16:41).mp4
 4-3 -SQL on Hadoop常用框架介绍 (06:33).mp4
 4-4 -Spark SQL概述 (12:41).mp4
 4-5 -Spark SQL愿景 (01:58).mp4
 4-6 -Spark SQL架构 (03:32).mp4
 第5章 从Hive平滑过渡到Spark SQL 7 节 | 84分钟 5-1 -课程目录 (02:02).mp4
 5-2 -A SQLContext的使用 (27:05).mp4
 5-3 -B HiveContext的使用 (07:49).mp4
 5-4 -C SparkSession的使用 (06:02).mp4
 5-5 spark-shell&spark-sql的使用 (20:51).mp4
 5-6 -thriftserver&beeline的使用 (12:59).mp4
 5-7 -jdbc方式编程访问 (06:33).mp4
 第6章 DataFrame&Dataset 9 节 | 87分钟 6-1 -课程目录 (01:24).mp4
 6-2 -DataFrame产生背景 (04:50).mp4
 6-3 -DataFrame概述 (08:01).mp4
 6-4 -DataFrame和RDD的对比 (03:27).mp4
 6-5 -DataFrame基本API操作 (15:15).mp4
 6-6 -DataFrame与RDD互操作方式一 (12:15).mp4
 6-7 -DataFrame与RDD互操作方式二 (09:33).mp4
 6-8 -DataFrame API操作案例实战 (21:11).mp4
 6-9 -Dataset概述及使用 (10:20).mp4
 第7章 External Data Source 8 节 | 49分钟 7-1 -课程目录 (00:56).mp4
 7-2 -产生背景 (05:48).mp4
 7-3 -概述 (03:08).mp4
 7-4 -目标 (04:48).mp4
 7-5 -操作Parquet文件数据 (12:41).mp4
 7-6 -操作Hive表数据 (06:52).mp4
 7-7 -操作MySQL表数据 (08:49).mp4
 7-8 -Hive和MySQL综合使用 (05:46).mp4
 第8章 SparkSQL愿景 

10 节 | 61分钟 8-1 -A SparkSQL愿景之一写更少的代码(代码量和可读性) (03:33).mp4
 8-2 -B SparkSQL愿景之一写更少的代码(统一访问操作接口) (07:45).mp4
 8-3 -C SparkSQL愿景之一写更少的代码(强有力的API支持) (03:51).mp4
 8-4 -D SparkSQL愿景之一些更少的代码(Schema推导) (10:30).mp4
 8-5 -E SparkSQL愿景之一写更少的代码(Schema Merge) (04:58).mp4
 8-6 -F SparkSQL愿景之一写更少的代码(Partition Discovery) (05:14).mp4
 8-7 -G SparkSQL愿景之一写更少的代码(执行速度更快) (03:47).mp4
 8-8 -SparkSQL愿景之二读取更少的数据 (11:02).mp4
 8-9 -SparkSQL愿景之三让查询优化器帮助我们优化执行效率 (09:24).mp4
 8-

10 -SparkSQL愿景总结 (00:47).mp4
 第9章 慕课网日志实战 

30 节 | 307分钟 9-1 -课程目录 (03:17).mp4
 9-2 -用户行为日志概述 (15:15).mp4
 9-3 -离线数据处理架构 (12:16).mp4
 9-4 -项目需求 (04:43).mp4
 9-5 imooc网主站日志内容构成 (04:14).mp4
 9-6 数据清洗之第一步原始日志解析 (21:26).mp4
 9-7 -数据清洗之二次清洗概述 (03:54).mp4
 9-8 -数据清洗之日志解析 (23:08).mp4
 9-9 -数据清洗之ip地址解析 (13:35).mp4
 9-

10 -数据清洗存储到目标地址 (06:04).mp4
 9-

11 -需求一统计功能实现 (12:12).mp4
 9-

12 -Scala操作MySQL工具类开发 (03:44).mp4
 9-

13 -需求一统计结果写入到MySQL (15:08).mp4
 9-

14 -需求二统计功能实现 (06:05).mp4
 9-

15 -需求二统计结果写入到MySQL (07:43).mp4
 9-

16 -需求三统计功能实现 (02:20).mp4
 9-

17 -需求三统计结果写入到MySQL (04:40).mp4
 9-

18 -代码重构之删除指定日期已有的数据 (06:59).mp4
 9-

19 -功能实现之数据可视化展示概述 (11:02).mp4
 9-

20 -ECharts饼图静态数据展示 (11:30).mp4
 9-21 -ECharts饼图动态展示之一查询MySQL中的数据 (21:20).mp4
 9-

22 -ECharts饼图动态展示之二前端开发 (12:09).mp4
 9-

23 -使用Zeppelin进行统计结果的展示 (10:57).mp4
 9-

24 -Spark on YARN基础 (25:37).mp4
 9-

25 -数据清洗作业运行到YARN上 (15:49).mp4
 9-

26 -统计作业运行在YARN上 (07:15).mp4
 9-

27 -性能优化之存储格式的选择 (03:33).mp4
 9-

28 -性能调优之压缩格式的选择 (09:01).mp4
 9-

29 -性能优化之代码优化 (06:53).mp4
 9-

30 -性能调优之参数优化 (04:27).mp4
 第10章 Spark SQL扩展和总结 9 节 | 68分钟 10-1 -课程目录 (04:09).mp4
 10-2 -Spark SQL使用场景 (07:59).mp4
 10-3 -Spark SQL加载数据 (22:12).mp4
 10-4 -DataFrame与SQL的对比 (04:22).mp4
 10-5 -Schema (03:35).mp4
 10-6 -SaveMode (09:27).mp4
 10-7 -处理复杂的JSON数据 (06:11).mp4
 10-8 -SQL的覆盖程度 (04:51).mp4
 10-9 -外部数据源 (05:01).mp4
 第11章 补充内容 4 节 | 21分钟 11-1 -课程安排 (02:00).mp4
 11-2 -外部数据源接口 (07:34).mp4
 11-3 -JDBC外部数据源实现源码分析 (06:34).mp4
 11-4 -文本数据自定义外部数据源实现案例分享 (04:40).mp4
 第12章 (彩蛋番外篇)Spark升级及新特性 4 节 | 36分钟 12-1 Spark版本升级 (07:08).mp4
 12-2 Spark SQL中Time Window的使用 (14:22).mp4
 12-3 Spark SQL中的Repartition和Coalesce的使用 (09:25).mp4
 12-4 Spark SQL中Catalog的用法 (04:27).mp4
 第13章 (讨论群内直播内容分享)透过SQL语法表象深入掌握底层执行过程 4 节 | 40分钟 13-1 为什么要掌握SQL的执行流程 (07:06).mp4
 13-2 select执行流程 (09:34).mp4
 13-3 group by执行流程 (13:21).mp4
 13-4 join执行流程 (09:52).mp4