正版资源SGG-2024年新版spark教程(Java语言)
课程定位与核心问题 本教程针对 Java 后端开发者在大数据计算场景下的工程痛点,系统讲解 Apache Spark 的离线批处理架构。许多初学者在部署环境时容易混淆 Local 模式与 YARN 集群模式的差异,尤其在 Client 和 Cluster 两种提交方式的选择上缺乏判断依据。本课程从基
课程定位与核心问题
本教程针对 Java 后端开发者在大数据计算场景下的工程痛点,系统讲解 Apache Spark 的离线批处理架构。许多初学者在部署环境时容易混淆 Local 模式与 YARN 集群模式的差异,尤其在 Client 和 Cluster 两种提交方式的选择上缺乏判断依据。本课程从基础概念入手,厘清 Spark 与 MapReduce 的计算关系,并通过解压目录结构和环境变量配置,帮助学员建立可复用的本地开发工作区。资料包中包含了详细的文件结构说明,确保你拿到源码后能直接对照配置,而非对着视频摸索环境。
学习路径与关键模块
建议按以下顺序切入:首先通过教程简介和部署方式章节,快速搭建 Local 环境并演示 YARN 集群任务提交,重点理解两种模式的对比;随后深入 RDD 核心概念,结合代码演示掌握内存数据源与磁盘文件数据源的构建方式。特别需要注意分区数量的设定逻辑以及分区数据的分配机制,这是理解 Spark 并行计算原理的关键。课程后半部分将详细拆解 RDD 方法的分类与实现,结合计算原理的补充说明,让你不仅会写代码,更能理解底层数据流转过程。
实践目标与资料配合
学完本课程后,你将能够独立搭建 Spark 开发环境,使用 Java 语言完成基于 RDD 的分布式数据处理任务,并合理调整分区策略以优化性能。资料包中的代码示例是按步骤编排的,涵盖了从环境准备到具体业务逻辑实现的完整闭环。建议在观看每个代码演示前,先自行尝试构建对应的 RDD 对象,再对比教程中的分区分配逻辑,这样能更深刻地理解 Spark 的惰性求值和宽窄依赖特性。这份资料适合作为日常开发的案头参考,当你遇到复杂的调度问题或需要排查性能瓶颈时,可直接查阅相关的计算原理章节。
课程目录
001.Spark-教程简介 002.Spark-文件结构-介绍 003.Spark-基础概念-介绍-分布式 004.Spark-基础概念-介绍-计算 005.Spark-基础概念-介绍-分布式基础架构 006.Spark-基础概念-介绍-框架 007.Spark-基础概念-介绍-Spark和MR的关系 008.Spark-介绍 009.Spark-部署方式-介绍 010.Spark-解压后的文件结构 011.Spark-部署环境-Local 012.Spark-部署环境-Local-演示 013.Spark-部署环境-Yarn-演示 014.Spark-部署环境-Yarn-历史服务 015.Spark-部署环境-Yarn-两种执行方式Cluster和Client 016.Spark-部署环境-几种模式的对比 017.Spark-数据结构-说明 018.Spark-RDD-介绍 019.Spark-RDD-数据处理流程简介 020.Spark-RDD-计算原理 021.Spark-RDD-计算原理-补充 022.Spark-RDD-代码-环境的准备 023.Spark-RDD-代码-对接内存数据源构建RDD对象 024.Spark-RDD-代码-对接磁盘数据源构建RDD对象 025.Spark-RDD-代码-RDD的理解 026.Spark-RDD-代码-RDD的分区 027.Spark-RDD-代码-内存数据源-分区数量的设定 028.Spark-RDD-代码-磁盘文件数据源-分区数量的设定 029.Spark-RDD-代码-内存数据源-分区数据的分配 030.Spark-RDD-代码-磁盘文件数据源-分区数据的分配 031.Spark-RDD-代码-磁盘文件数据源-分区数据的分配-演示 033.Spark-RDD-方法-介绍 034.Spark-RDD-方法-方法的两大类-转换和行动 035.Spark-RDD-方法-数据处理的两大类-单值和键值 036.Spark-RDD-方法-转换-map 037.Spark-RDD-方法-转换-map-1 038.Spark-RDD-方法-转换-map-2 039.Spark-RDD-方法-转换-map-3 040.Spark-RDD-方法-转换-map-4 041.Spark-RDD-方法-转换-filter 042.Spark-RDD-方法-转换-flatMap 043.Spark-RDD-方法-转换-flatMap-1 044.Spark-RDD-方法-转换-groupBy 045.Spark-RDD-回顾-原理 046.Spark-RDD-回顾-方法 047.Spark-RDD-Shuffle 048.Spark-RDD-Shuffle-原理 049.Spark-RDD-Shuffle-原理-补充 050.Spark-RDD-Shuffle-演示 051.Spark-RDD-方法-distinct 052.Spark-RDD-方法-sortBy 053.Spark-RDD-方法-KV类型数据介绍 054.Spark-RDD-方法-KV类型数据补充 055.Spark-RDD-方法-KV-mapValues 056.Spark-RDD-方法-KV-wordCount 057.Spark-RDD-方法-KV-groupByKey 058.Spark-RDD-方法-KV-reduceByKey 059.Spark-RDD-方法-KV-sortByKey 060.Spark-RDD-方法-KV-reduceByKey和groupByKey的区别 061.Spark-RDD-WordCount程序在环境中运行 062.Spark-RDD-转换方法的回顾 063.Spark-RDD-行动算子-介绍 064.Spark-RDD-行动算子-collect 065.Spark-RDD-行动算子-collect-补充 066.Spark-RDD-行动算子-其他方法-1 067.Spark-RDD-行动算子-其他方法-2 068.Spark-RDD-行动算子-其他方法-3 069.Spark-RDD-行动算子-Driver端和Executor端数据传输 070.Spark-RDD-序列化-1 071.Spark-RDD-序列化-2 072.Spark-案例-数据格式说明 073.Spark-案例-需求介绍 074.Spark-案例-需求分析 075.Spark-案例-需求设计 076.Spark-案例-开发原则 077.Spark-案例-代码实现-1 078.Spark-案例-代码实现-2 079.Spark-案例-代码实现-3 080.Spark-案例-代码实现-4 081.Spark-RDD-KRYO序列化框架 082.Spark-RDD-依赖关系-介绍 083.Spark-RDD-依赖关系-原理 084.Spark-RDD-依赖关系-血缘关系 085.Spark-RDD-依赖关系-依赖关系 086.Spark-RDD-依赖关系-宽窄依赖关系 087.Spark-RDD-依赖关系-作业,阶段和任务的关系 088.Spark-RDD-依赖关系-任务的数量 089.Spark-RDD-依赖关系-分区的数量 091.Spark-RDD-持久化-cache 092.Spark-RDD-持久化-persist 093.Spark-RDD-持久化-checkpoint 094.Spark-RDD-持久化-shuffle算子的持久化 095.Spark-RDD-分区器 096.Spark-RDD-自定义分区器 097.Spark-两个案例 098.Spark-第一个案例问题原因 099.Spark-广播变量 100.Spark-RDD的局限性 101.SparkSQL-介绍 102.SparkSQL-环境对象的封装 103.SparkSQL-模型对象的封装 104.SparkSQL-SQL的操作 105.SparkSQL-不同场景下环境对象的转换 106.SparkSQL-不同场景下模型数据对象的转换 107.SparkSQL-使用SQL的方式来访问数据模型 108.SparkSQL-使用DSL的方式来访问数据模型 109.SparkSQL-自定义udf函数对象 110.SparkSQL-自定义udf函数的底层实现原理 111.SparkSQL-自定义udaf函数的底层实现原理 112.SparkSQL-自定义udaf函数的实现步骤-1 113.SparkSQL-自定义udaf函数的实现步骤-2 114.SparkSQL-自定义udaf函数的实现步骤-回顾 115.SparkSQL-数据源-CSV 116.SparkSQL-数据源-JSON 117.SparkSQL-数据源-Parquet 118.SparkSQL-数据源-JDBC 119.SparkSQL-数据源-Hive 120.SparkSQL-案例-数据准备 121.SparkSQL-案例-数据准备-补充 122.SparkSQL-案例-需求分析 123.SparkSQL-案例-需求设计 124.SparkSQL-案例-SQL实现-1 125.SparkSQL-案例-SQL实现-2 126.SparkSQL-案例-SQL实现-3 127.SparkSQL-案例-SQL实现-4 128.SparkSQL-案例-SQL实现-5 129.SparkSQL-案例-SQL实现-6 130.SparkSQL-案例-SQL实现-7 131.SparkSQL-案例-SQL实现-8 132.SparkSQL-案例-SQL实现-9 133.SparkStreaming-介绍 134.SparkStreaming-原理 135.SparkStreaming-原理-补充 136.SparkStreaming-课件梳理 137.SparkStreaming-环境准备 138.SparkStreaming-网络(Socket)数据流处理演示 139.SparkStreaming-Kafka数据流处理演示 140.SparkStreaming-DStream方法介绍 141.SparkStreaming-DStream输出方法介绍 142.SparkStreaming-窗口操作 143.SparkStreaming-回顾-1 144.SparkStreaming-回顾-2 145.SparkStreaming-关闭-1 146.SparkStreaming-关闭-2 147.SparkStreaming-关闭-3 148.Spark-内核-运行流程-1 149.Spark-内核-运行流程-2 150.Spark-内核-运行流程-3 151.Spark-内核-核心对象 152.Spark-内核-核心对象通信流程-Netty 153.Spark-内核-Task任务的调度执行 154.Spark-内核-Shuffle底层的实现原理-1 155.Spark-内核-Shuffle底层的实现原理-2 156.Spark-内核-内存管理 157.Spark-内核-内存管理-补充




