在大数据生态系统中,Hive 作为连接传统数仓与分布式计算的桥梁,其地位举足轻重。然而,许多开发者在面对 Hive 时,往往局限于简单的 SQL 查询,却不清楚其底层通信机制,更不知如何高效地将 Hive 数据纳入 Spark SQL 的计算流程中。本课程《Spark 2.x实战应用系列八之Spark SQL with Hive》正是为了解决这一痛点而生,旨在帮助学员构建从基础原理到企业级实战的完整知识闭环。
课程开篇并未直接进入代码编写,而是扎实地梳理了前置知识。通过深入对比 Thrift 与 Socket 编程模型的差异,并详解 Thrift 在实际开发中的使用方法,学员将透彻理解 Hive Server 与客户端之间数据交互的底层逻辑。这是打通 Hive 与外部系统连接的关键基石。随后,课程完成了环境搭建与数据准备工作,确保每位学员都能在统一的标准环境下进行后续的实操演练。
在入门阶段,课程通过一个具体的业务案例,循序渐进地演示了 Hive 的三种主流访问方式:经典的 Hive CLI、基于 JDBC 标准的 Beeline 命令行工具,以及在代码层面通过 JDBC 驱动直接访问 Hive。这种由浅入深的教学方式,让初学者能够快速上手,理解不同场景下的最佳实践选择。
紧接着,课程的核心亮点——Spark SQL 与 Hive 的无缝集成被详细展开。学员将学习到如何配置 Spark SQL 以兼容 Hive Metastore,实现“一份元数据,多引擎共享”的高效架构。无论是通过 Beeline 还是 JDBC 从外部访问 Spark SQL,亦或是直接在 Spark SQL 代码中使用 SQL 语句读写 Hive 表,课程都提供了详尽的配置指南与代码示例。特别值得一提的是,针对本地调试困难的常见问题,课程专门讲解了如何在本地环境中模拟集群读写 Hive 数据,极大地降低了开发与测试的门槛。
课程的最后部分进入了高价值的实战环节。在一个完整的 ETL 作业场景中,学员将亲手实现从数据抽取、清洗到加载的全流程操作。更令人振奋的是,课程还深入探讨了机器学习领域的应用,详细讲解了如何利用 Spark MLlib 中的 ALS 算法,基于 Hive 中的用户行为数据构建协同过滤推荐模型,并实现自动化推荐功能 Job。这不仅展示了 Spark SQL 在批处理任务中的优势,更凸显了其在复杂数据分析与机器学习场景下的强大潜力。通过本课程的学习,你将不再只是 Hive 的查询者,而是能够驾驭 Spark 引擎,高效处理海量数据的架构师。
课程目录
1-1 [课程内容以及环境] 课程内容 (10:13).mp4 1-2 [课程内容以及环境] 课程需要的环境 (01:41).mp4 2-1 [基础准备] Thrift与Socket编程模型对比 (16:37).mp4 2-2 [基础准备] Thrift的使用方法 (17:15).mp4 2-3 [基础准备] 课程数据准备 (07:40).mp4 3-1 [一个例子看懂Hive的使用方式] Hive CLI的用法 (14:45).mp4 3-2 [一个例子看懂Hive的使用方式] Hive beeline的用法 (12:32).mp4 3-3 [一个例子看懂Hive的使用方式] 代码里JDBC的方式访问Hive (11:24).mp4 4-1 [一个例子看懂Spark SQL兼容Hive] Spark SQL兼容Hive配置 (13:07).mp4 4-2 [一个例子看懂Spark SQL兼容Hive] 通过beeline访问Spark SQL (09:51).mp4 4-3 [一个例子看懂Spark SQL兼容Hive] 通过JDBC访问Spark SQL (06:21).mp4 5-1 [Spark SQL应用读写Hive数据源] Spark SQL代码中写SQL读写Hive (12:14).mp4 5-2 [Spark SQL应用读写Hive数据源] 通过table和saveAsTable两个接口读写Hive (14:28).mp4 5-3 [Spark SQL应用读写Hive数据源] Spark SQL本地调试读写Hive (08:51).mp4 6-1 [Spark SQL and Hive的**实践] 案例业务讲解 (14:40).mp4 6-2 [Spark SQL and Hive的**实践] ETL job详细讲解 (17:10).mp4 6-3 [Spark SQL and Hive的**实践] 机器学习(ALS算法)实现推荐功能job详细讲解 (13:33).mp4 6-4 [Spark SQL and Hive的**实践] Spark SQL和Hive的各自职责 (12:13).mp4 7-1 [NBA球员价值分析实战] 数据字段说明 (13:51).mp4 7-2 [NBA球员价值分析实战] 数据预处理 (23:55).mp4 7-3 [NBA球员价值分析实战] 在集群上运行预处理任务 (18:27).mp4 7-4 [NBA球员价值分析实战] 优化预处理任务 (14:26).mp4 7-5 [NBA球员价值分析实战] 原始字段解析逻辑 (23:53).mp4 7-6 [NBA球员价值分析实战] zscore的计算 (23:53).mp4 7-7 [NBA球员价值分析实战] 解析预处理之后的csv文件 (19:57).mp4 7-8 [NBA球员价值分析实战] 处理异常数据 (04:07).mp4 7-9 [NBA球员价值分析实战] 计算每年9个指标的平均值和方差 (24:28).mp4 7- 10 [NBA球员价值分析实战] 计算每年每个球员每个指标的zscore (21:14).mp4 7- 11 [NBA球员价值分析实战] 标准化zscore (32:34).mp4 7- 12 [NBA球员价值分析实战] Schema展平 (11:07).mp4 7- 13 [NBA球员价值分析实战] 经验值的计算 (12:12).mp4 7- 14 [NBA球员价值分析实战] 在集群中跑预处理和zscore计算任务 (18:38).mp4 7- 15 [NBA球员价值分析实战] zeppelin安装 (07:57).mp4 7- 16 [NBA球员价值分析实战] zeppelin连接Hive分析数据 (23:18).mp4 7- 17 [NBA球员价值分析实战] Spark SQL和Hive本地调试 (07:34).mp4 7- 18 [NBA球员价值分析实战] 价值随着年龄的变化分析一 (20:29).mp4 7- 19 [NBA球员价值分析实战] 价值随着年龄的变化分析二 (21:32).mp4 7- 20 [NBA球员价值分析实战] 聚合年龄变化的价值 (23:43).mp4 7- 21 [NBA球员价值分析实战] 可视化分析结果 (22:05).mp4 7- 22 [NBA球员价值分析实战] zeppelin的使用 (17:55).mp4
![[老汤]Spark 2.x实战应用系列八之Spark SQL with Hive](/_next/image?url=%2Fapi%2Fuploads%2F4e020c4b-1e0f-4dda-8f1e-de65891246b0.jpg&w=1920&q=75)





