**Spark SQL:大数据生态中的“桥梁”与“引擎”**

在大数据技术的浩瀚星河中,Spark SQL 无疑是最为璀璨的星辰之一。它不仅仅是 Apache Spark 框架的一个重要组件,更是连接传统关系型数据库思维与现代分布式计算架构的关键桥梁。本课程——老汤大数据系列中的《Spark SQL》,正是为你揭开这一核心工具的神秘面纱,带你从历史脉络到未来展望,全面掌握这一企业级数据处理利器。

**为何学习 Spark SQL?**

在 Hadoop 时代,Hive 曾是 SQL On Hadoop 的主力军,但其基于 MapReduce 的执行引擎导致查询延迟高、资源利用率低。随着数据量级的爆炸式增长和业务对实时性的严苛要求,Spark SQL 应运而生。它继承了 Spark 内存计算的极速优势,同时兼容 Hive 的语法生态,使得开发者能够以熟悉的 SQL 语言,高效地处理 PB 级大数据。对于从事数据开发、数据分析及数据工程的工程师而言,精通 Spark SQL 已从“加分项”变为“必选项”。

**课程内容深度解析**

本课程由浅入深,结构严谨,共分为两大核心板块。

第一部分为“课程答疑”,资深讲师老汤首先系统梳理了大数据课程体系的整体架构,帮助学员明确学习路径,消除入门迷茫,建立清晰的知识地图。

第二部分为核心干货,围绕“Spark SQL 的前生今世以及未来”展开。课程并未止步于代码操作,而是从根源上剖析技术演进逻辑:
* **双引擎驱动**:深入对比 DSL(领域特定语言)编程风格与纯 SQL 查询风格的适用场景,学员将学会根据业务需求灵活切换“编程式”与“声明式”开发模式。
* **数据基石**:详细讲解 Parquet、JSON、ORC 等主流数据格式的特点与差异,理解列式存储如何提升查询性能,这是优化 Spark SQL 性能的前提。
* **技术溯源**:从 Spark SQL 的设计初衷出发,回顾 SQL On Hadoop 的发展历程,包括 Hive 的积淀、Impala 的内存加速尝试以及 Shark 的承前启后,让学员明白“为什么是这样”,从而更好地应对“怎么用”的问题。

**适合人群与建议**

本课程适合具备一定 Hadoop 基础、希望提升数据处理效率的数据分析师、大数据开发工程师以及计算机相关专业学生。无论你的目标是从事离线数仓建设,还是探索实时数据分析,Spark SQL 都是你手中不可或缺的武器。

通过本课程的系统学习,你不仅将掌握 Spark SQL 的核心 API 与 SQL 语法,更将建立起对大数据查询引擎演进的宏观认知,为后续学习 Spark Streaming、Structured Streaming 等高级主题奠定坚实基础。立即开启学习,让数据计算更高效,让分析洞察更即时。

课程目录

1-1 [课程答疑 ] 老汤大数据课程体系介绍 (06:21)
2-1 [Spark SQL的前生今世以及未来] 课程内容 (04:36)
2-2 [Spark SQL的前生今世以及未来] DSL (10:24)
2-3 [Spark SQL的前生今世以及未来] SQL (06:50)
2-4 [Spark SQL的前生今世以及未来] 数据格式的种类及其特点 (07:48)
2-5 [Spark SQL的前生今世以及未来] Spark SQL的初衷 (07:30)
2-6 [Spark SQL的前生今世以及未来] SQL On Hadoop - Hive (07:56)
2-7 [Spark SQL的前生今世以及未来] SQL On Hadoop - Imapla (10:10)
2-8 [Spark SQL的前生今世以及未来] Shark (07:56)
2-9 [Spark SQL的前生今世以及未来] 大事记 (04:53)
2-10 [Spark SQL的前生今世以及未来] Spark SQL四大目标 (06:56)
2-11 [Spark SQL的前生今世以及未来] Spark SQL架构及其处理流 (15:05)
2-12 [Spark SQL的前生今世以及未来] API实现的发展 (13:00)
2-13 [Spark SQL的前生今世以及未来] DataFrame (17:54)
2-14 [Spark SQL的前生今世以及未来] Dataset (07:57)
2-15 [Spark SQL的前生今世以及未来] API演化的合理性(必须学习) (09:02)
2-16 [Spark SQL的前生今世以及未来] Dataset API分类 (05:00)
2-17 [Spark SQL的前生今世以及未来] Spark SQL未来会成为Spark的新核心 (10:56)
3-1 [玩转Spark SQL] spark SQL基本概念 (17:07)
3-2 [玩转Spark SQL] 浅尝spark SQL的API (16:20)
3-3 [玩转Spark SQL] SparkSession的讲解 (14:03)
3-4 [玩转Spark SQL] DataFrame的创建(必须学习) (16:01)
3-5 [玩转Spark SQL] Dataset的创建(必须学习) (15:59)
3-6 [玩转Spark SQL] RDD/Dataset/DataFrame的转换(必须学习) (08:12)
3-7 [玩转Spark SQL] schema的定义以及复杂数据类型的用法 (19:02)
3-8 [玩转Spark SQL] 实战:schema api的用处 (15:06)
3-9 [玩转Spark SQL] 数据源-基本操作load和save (19:01)
3-10 [玩转Spark SQL] 数据源-parquet和orc文件的读写 (12:02)
3-11 [玩转Spark SQL] 数据源-json文件的读写一 (15:57)
3-12 [玩转Spark SQL] 数据源-json文件的读写二 (13:37)
3-13 [玩转Spark SQL] 数据源-csv文件的读写一 (18:29)
3-14 [玩转Spark SQL] 数据源-csv文件的读写二 (16:47)
3-15 [玩转Spark SQL] Mysql的JDBC驱动包放置在Spark的安装目录下 (02:18)
3-16 [玩转Spark SQL] Spark SQL读写Mysql的权限问题 (02:18)
3-17 [玩转Spark SQL] 数据源-通过jdbc读写mysql数据库(必须学习) (09:28)
3-18 [玩转Spark SQL] 通过jdbc写mysql数据库需要注意的点(必须学习) (11:22)
3-19 [玩转Spark SQL] 通过jdbc读mysql数据库需要注意的点(必须学习) (15:27)
3-20 [玩转Spark SQL] 数据源-text文件和table数据源的读写 (09:52)
3-21 [玩转Spark SQL] 数据源实战之数据分区(必须学习) (15:38)
3-22 [玩转Spark SQL] catalog元数据管理讲解 (19:47)
3-23 [玩转Spark SQL] DDL-表的类型种类及其创建方式 (19:24)
3-24 [玩转Spark SQL] DQL-sql查询及其sql函数讲解 (10:35)
3-25 [玩转Spark SQL] SQL内置函数(很全) (13:09)
3-26 [玩转Spark SQL] Column的表达(必须学习) (14:44)
3-27 [玩转Spark SQL] DataFrame中Untyped API讲解 (19:27)
3-28 [玩转Spark SQL] DataFrame Untyped API与SQL对比 (07:49)
3-29 [玩转Spark SQL] Dataset typed API (22:10)
3-30 [玩转Spark SQL] group分组聚合(必须学习) (15:43)
3-31 [玩转Spark SQL] join关联相关(必须学习) (16:51)
3-32 [玩转Spark SQL] sort排序相关API (07:53)
3-33 [玩转Spark SQL] 实战:自定义UDAF (19:53)
3-34 [玩转Spark SQL] Action API和其他API (05:20)
3-35 [玩转Spark SQL] RDDs\DataFrames\Datasets各自使用场景 (12:44)
3-36 [玩转Spark SQL] 实战一:json格式数据处理 (20:20)
3-37 [玩转Spark SQL] 实战二:物联网设备信息的ETL (13:39)
4-1 [Spark SQL分析实战一(必须学习)] 文件字段说明 (14:40)
4-2 [Spark SQL分析实战一(必须学习)] SparkSession的read接口生成DataFrame (22:43)
4-3 [Spark SQL分析实战一(必须学习)] 解析Flight (25:21)
4-4 [Spark SQL分析实战一(必须学习)] 解析Airport (16:00)
4-5 [Spark SQL分析实战一(必须学习)] 简单业务查询 (07:42)
4-6 [Spark SQL分析实战一(必须学习)] Spark SQL shuffle分区数设置 (11:02)
4-7 [Spark SQL分析实战一(必须学习)] cube分析数据 (07:11)
5-1 [Spark SQL分析实战二(必须学习)] 需求说明 (12:37)
5-2 [Spark SQL分析实战二(必须学习)] 用代码怎么样表示地图 (22:05)
5-3 [Spark SQL分析实战二(必须学习)] geoJson的解析 (39:26)
5-4 [Spark SQL分析实战二(必须学习)] 载客记录安全解析 (21:18)
5-5 [Spark SQL分析实战二(必须学习)] 数据清洗-过滤掉载客时间不符合规则的数据 (23:04)
5-6 [Spark SQL分析实战二(必须学习)] 数据清洗-过滤掉不在纽约市的载客记录 (15:49)
5-7 [Spark SQL分析实战二(必须学习)] Spark SQL分析出租车数据 (25:03)