- 课程目录
- 课程介绍
-
在线阅读:开篇词 | 入门Spark,你需要学会“三步走”
通过“学、用、写”不断迭代的学习方式,我把零散的开发技巧归纳成了结构化的知识体系。
-
01|Spark:从“大数据的Hello World”开始
怎么用Spark完成一个小项目?
-
02 | RDD与编程模型:延迟计算是怎么回事?
RDD是构建Spark分布式内存计算引擎的基石。
-
03 | RDD常用算子(一):RDD内部的数据转换
想要在Spark之上快速实现业务逻辑,需要掌握RDD常用算子。
-
04 | 进程模型与分布式部署:分布式计算是怎么回事?
分布式计算的实现,离不开两个关键要素,一个是进程模型。
-
在线阅读:05 | 调度系统:如何把握分布式计算的精髓?
今天我们一起探究Spark调度系统,弄清楚分布式计算的来龙去脉。
-
06 | Shuffle管理:为什么Shuffle是性能瓶颈?
今天我们用“工地搬砖的任务”来理解Shuffle及其工作原理。
-
07 | RDD常用算子(二):Spark如何实现数据聚合?
在数据分析场景中,典型的计算类型分别是分组、聚合和排序。
-
08 | 内存管理:Spark如何使用内存?
今天我们会借助施工过程的例子,一起来学习Spark的内存管理。
-
09 | RDD常用算子(三):数据的准备、重分布与持久化
今天要学的RDD算子,可以分别归类到数据生命周期的不同阶段。
-
10 | 广播变量 & 累加器:共享变量是用来做什么的?
今天我们将深入了解广播变量和累加器的用法。
-
11 | 存储系统:数据到底都存哪儿了?
想实现Shuffle管理、RDD Cache和广播变量,都离不开存储系统。
-
12 | 基础配置详解:哪些参数会影响应用程序稳定性?
今天这一讲,我们说一说Spark常用配置项如何使用。
-
13 | Spark SQL:让我们从“小汽车摇号分析”开始
我们用Spark SQL定量分析一下小汽车摇号倍率与中签率间的关系。
-
14 | 台前幕后:DataFrame与Spark SQL的由来
厘清Spark SQL与Spark Core的关系,有利于你构建系统化的知识体系和全局视角。
-
15 | 数据源与数据格式:DataFrame从何而来?
这一讲,我会从Driver、文件系统与RDBMS三个方面,为你讲解5种常见的DataFrame创建方式,然后带你了解不同方式的使用场景跟优劣分析。
-
16 | 数据转换:如何在DataFrame之上做数据处理?
有了DataFrame之后,我们该如何在DataFrame之上做数据探索、数据分析,以及各式各样的数据转换呢?在数据处理完毕之后,我们又该如何做数据展示与数据持久化呢?
-
17 | 数据关联:不同的关联形式与实现机制该怎么选?
今天,我会带你分别从关联形式和实现机制两个角度,理清Spark SQL当中数据关联的来龙去脉。
-
18 | 数据关联优化:都有哪些Join策略,开发者该如何取舍?
结合三种实现机制和两种数据分发模式,Spark SQL支持5种分布式Join策略。对于这些不同的Join策略,Spark SQL有着自己的选择偏好。
-
19 | 配置项详解:哪些参数会影响应用程序执行性能?
今天咱们说一说与Spark SQL有关的那些重要配置项。
-
20 | Hive + Spark强强联合:分布式数仓的不二之选
今天这一讲,你需要了解Spark与Hive常见的两类集成方式,Spark with Hive和Hive on Spark。两类集成方式各有千秋,适用场景各有不同。
-
21|Spark UI(上):如何高效地定位性能问题?
今天我们一起拿下Spark UI,看一看它有哪些关键的度量指标,这些指标都是什么含义,又能为开发者提供哪些洞察(Insights)。
-
22|Spark UI(下):如何高效地定位性能问题?
开发者可以通过Spark UI二级入口,获取更加丰富、详尽的内容,掌握更多度量指标。
-
23 | Spark MLlib:从“房价预测”开始
在这个模块中,我们首先从一个“房价预测”的小项目入手,初步了解机器学习以及Spark MLlib的基本用法。
-
24 | 特征工程(上):有哪些常用的特征处理函数?
提升模型效果的第一步,就是要做好特征工程。让我们看看Spark MLlib的开发框架下,都有哪些完善特征工程的方法。
-
25 | 特征工程(下):有哪些常用的特征处理函数?
今天这一讲,我们继续学习特征工程,说说剩下的离散化、Embedding与向量计算,最后还会对应用了6种不同特征工程的模型性能加以对比。
-
26 | 模型训练(上):决策树系列算法详解
Spark MLlib框架支持种类丰富的模型算法,我们会用三讲内容详细拆解。这一讲我们需要先搞清楚决策树、GBDT和RF这些前置知识。
-
27 | 模型训练(中):回归、分类和聚类算法详解
今天这一讲,我们会结合房屋预测场景,一起学习回归、分类与聚类中的典型算法在Spark MLlib框架下的具体用法。
-
28 | 模型训练(下):协同过滤与频繁项集算法详解
今天我们结合两个有趣的电影推荐场景,为你讲解Spark MLlib支持的协同过滤与频繁项集算法。
-
29 | Spark MLlib Pipeline:高效开发机器学习应用
Pipeline的核心优势在于提升机器学习应用的开发效率,并同时消除测试样本与训练样本之间不一致这一致命隐患。
-
30|Structured Streaming:从“流动的Word Count”开始
这一讲我们从一个可以迅速上手的实例开始,带你初步认识Spark的流处理框架Structured Streaming。
-
31|新一代流处理框架:Batch mode和Continuous mode哪家强?
今天我们将学习Structured Streaming中两种不同的计算模型——Batch mode与Continuous mode。掌握今天的内容,面对不同的流计算场景时你会更得心应手。
-
32|Window操作&Watermark:流处理引擎提供了哪些优秀机制?
今天我们一起看看Structured Streaming流处理引擎都为开发者都提供了哪些特性与能力,让你更灵活地设计并实现流处理应用。
-
33|流计算中的数据关联:流与流、流与批
数据关联应用广泛,我们要掌握不同类型数据关联的适用场景以及注意事项。
-
34|Spark + Kafka:流计算中的“万金油”
掌握Kafka与Spark的集成,对于想从事流计算方向的同学来说至关重要。
-
用户故事 | 小王:保持空杯心态,不做井底之蛙
无数次的经验告诉我们,偷过的懒都会加倍还回来。既然精进Spark是大数据工程师躲不掉的事情,那么咱们就踏踏实实、按部就班地学习、行动起来吧!
-
结束语 | 进入时间裂缝,持续学习
进入时间裂缝,持续学习,与君共勉。
-
期末测试|来赴一场100分之约!
满分? 单选 10 道 & 多选 10 道,快来挑战吧!
课程介绍
你将获得 快速构建 Spark 核心知识体系 Spark 三大计算场景案例实操 逐句注释的保姆级代码讲解 在故事中搞懂 Spark 开发实战技巧 讲师介绍 课程介绍...你将获得
- 快速构建 Spark 核心知识体系
- Spark 三大计算场景案例实操
- 逐句注释的保姆级代码讲解
- 在故事中搞懂 Spark 开发实战技巧
讲师介绍
课程介绍
因为经过十多年的发展,Spark已经由当初的“大数据新秀”成长为数据应用领域的中流砥柱,早已成为各大头部互联网公司的标配。比如,字节跳动、美团、Netflix等公司基于Spark构建的应用,在为公司旗下的核心产品提供服务。
这也就意味着,对于数据应用领域的任何一名工程师来说,Spark开发都是一项必备技能。
虽然Spark好用,而且是大数据从业者的一门必修课,但对于入门这件事儿,却也面临着这样一些难题:
- 学习资料多且杂,自己根本就梳理不出脉络,更甭提要构建结构化的知识体系了。
- 学习Spark,一定要先学Scala吗?新学一门编程语言,真不是件容易的事儿。
- Spark的开发算子太多,记不住,来了新的业务需求,又不知道该从哪里下手。
- ……
那么,该如何解决这些问题,从而打开Spark应用开发的大门呢?
为此,我们邀请到了吴磊老师。他会结合自己这些年学习、应用和实战Spark的丰富经验,为你梳理一套零基础入门Spark的“三步走”方法论:熟悉Spark开发API与常用算子、吃透Spark核心原理、玩转Spark计算子框架,从而帮助你零基础上手Spark 。
这个“三步走”方法论再配合4个不同场景的小项目,吴磊老师会从基本原理到项目落地,带你深入浅出玩转Spark。
课程模块设计
结合Spark最常用的计算子框架,这门课设计为4个模块,它与“三步走”方法论的对应关系如下:

基础知识模块:从一个叫作“Word Count”的小项目开始,详细地讲解RDD常用算子的含义、用法与适用场景,以及RDD编程模型、调度系统、Shuffle管理、内存管理等核心原理,帮你打下坚实的理论基础。
Spark SQL模块:从“小汽车摇号”项目入手,带你熟悉Spark SQL开发API,为你讲解Spark SQL的核心原理与优化过程,以及Spark SQL与数据分析有关的部分,如数据的转换、清洗、关联、分组、聚合、排序,等等。
Spark MLlib模块:从“房价预测”这个小项目入手,带你了解Spark在机器学习中的应用,深入学习Spark MLlib丰富的特征处理函数和它支持的模型与算法,并带你了解Spark + XGBoost集成是如何帮助开发者应对大多数的回归与分类问题。
Structured Streaming模块:重点讲解Structured Streaming是怎么同时保证语义一致性与数据一致性的,以及如何应对流处理中的数据关联,并通过Kafka + Spark这对“Couple”的系统集成,来演示流处理中的典型计算场景。
课程目录


