Java 开发者如何绕过 Hadoop 瓶颈,掌握 Spark 高效计算
大数据场景下,Hadoop MapReduce 的串行处理模式已难以应对实时计算需求。本套教程针对 Java 开发者,专门解决从传统 MR 向内存计算框架迁移的痛点。课程不堆砌理论,而是直击 Spark 核心架构与 RDD 编程模型,帮助你理解为何它能通过内存计算和延迟容错机制,将数倍百倍地提升数据处理效率。如果你日常面临日志清洗、离线数仓构建或实时指标计算性能不足的难题,这门课能帮你建立起基于内存的计算思维,摆脱“等待任务跑完”的焦虑。
从本地调试到集群部署,零配置上手企业级环境
很多教程只讲 API 却忽略环境搭建,导致你学完代码却跑不起来。本资料包详细梳理了 Spark 在本地(Local)、Yarn 和 Standalone 三种模式下的部署差异。通过具体的演示环节,你会清晰看到 Client 与 Cluster 两种执行模式的适用场景:本地模式适合代码调试与学习验证,而 Yarn 模式则是企业生产环境的主流选择。课程重点讲解了如何在 Yarn 上提交应用、查看历史服务以及排查资源不足等常见问题,确保你能顺利将本地编写的代码迁移到真实的集群环境中运行,避免“有代码无环境”的尴尬。
深度掌握 RDD 核心机制,构建可落地的数据处理流
Spark 的灵魂在于 RDD,但单纯理解概念无法写出好代码。本部分内容通过内存与磁盘两种数据源的对接,手把手带你实现 RDD 对象的构建。你将深入理解 RDD 的分区原理、分区数量设定策略以及数据在节点间的分配逻辑,这是后续优化算子性能的关键。课程通过具体的代码实操,演示了从原始文件读取到构建分布式数据集的全过程,并介绍了 RDD 的转换与行动算子体系。学完这部分,结合提供的练习代码,你可以独立编写出处理大规模数据流(如日志分析、ETL 转换)的完整脚本,不再依赖现成的模板,具备独立开发 Spark 应用的能力。
课程目录
课程目录155 集
- 001.Spark-教程简介.mp4
- 002.Spark-文件结构-介绍.mp4
- 003.Spark-基础概念-介绍-分布式.mp4
- 004.Spark-基础概念-介绍-计算.mp4
- 005.Spark-基础概念-介绍-分布式基础架构.mp4
- 006.Spark-基础概念-介绍-框架.mp4
- 007.Spark-基础概念-介绍-Spark和MR的关系.mp4
- 008.Spark-介绍.mp4
- 009.Spark-部署方式-介绍.mp4
- 010.Spark-解压后的文件结构.mp4
- 011.Spark-部署环境-Local.mp4
- 012.Spark-部署环境-Local-演示.mp4
- 013.Spark-部署环境-Yarn-演示.mp4
- 014.Spark-部署环境-Yarn-历史服务.mp4
- 015.Spark-部署环境-Yarn-两种执行方式Cluster和Client.mp4
- 016.Spark-部署环境-几种模式的对比.mp4
- 017.Spark-数据结构-说明.mp4
- 018.Spark-RDD-介绍.mp4
- 019.Spark-RDD-数据处理流程简介.mp4
- 020.Spark-RDD-计算原理.mp4
- 021.Spark-RDD-计算原理-补充.mp4
- 022.Spark-RDD-代码-环境的准备.mp4
- 023.Spark-RDD-代码-对接内存数据源构建RDD对象.mp4
- 024.Spark-RDD-代码-对接磁盘数据源构建RDD对象.mp4
- 025.Spark-RDD-代码-RDD的理解.mp4
- 026.Spark-RDD-代码-RDD的分区.mp4
- 027.Spark-RDD-代码-内存数据源-分区数量的设定.mp4
- 028.Spark-RDD-代码-磁盘文件数据源-分区数量的设定.mp4
- 029.Spark-RDD-代码-内存数据源-分区数据的分配.mp4
- 030.Spark-RDD-代码-磁盘文件数据源-分区数据的分配.mp4
- 031.Spark-RDD-代码-磁盘文件数据源-分区数据的分配-演示.mp4
- 033.Spark-RDD-方法-介绍.mp4
- 034.Spark-RDD-方法-方法的两大类-转换和行动.mp4
- 035.Spark-RDD-方法-数据处理的两大类-单值和键值.mp4
- 036.Spark-RDD-方法-转换-map.mp4
- 037.Spark-RDD-方法-转换-map-1.mp4
- 038.Spark-RDD-方法-转换-map-2.mp4
- 039.Spark-RDD-方法-转换-map-3.mp4
- 040.Spark-RDD-方法-转换-map-4.mp4
- 041.Spark-RDD-方法-转换-filter.mp4
- 042.Spark-RDD-方法-转换-flatMap.mp4
- 043.Spark-RDD-方法-转换-flatMap-1.mp4
- 044.Spark-RDD-方法-转换-groupBy.mp4
- 045.Spark-RDD-回顾-原理.mp4
- 046.Spark-RDD-回顾-方法.mp4
- 047.Spark-RDD-Shuffle.mp4
- 048.Spark-RDD-Shuffle-原理.mp4
- 049.Spark-RDD-Shuffle-原理-补充.mp4
- 050.Spark-RDD-Shuffle-演示.mp4
- 051.Spark-RDD-方法-distinct.mp4
- 052.Spark-RDD-方法-sortBy.mp4
- 053.Spark-RDD-方法-KV类型数据介绍.mp4
- 054.Spark-RDD-方法-KV类型数据补充.mp4
- 055.Spark-RDD-方法-KV-mapValues.mp4
- 056.Spark-RDD-方法-KV-wordCount.mp4
- 057.Spark-RDD-方法-KV-groupByKey.mp4
- 058.Spark-RDD-方法-KV-reduceByKey.mp4
- 059.Spark-RDD-方法-KV-sortByKey.mp4
- 060.Spark-RDD-方法-KV-reduceByKey和groupByKey的区别.mp4
- 061.Spark-RDD-WordCount程序在环境中运行.mp4
- 062.Spark-RDD-转换方法的回顾.mp4
- 063.Spark-RDD-行动算子-介绍.mp4
- 064.Spark-RDD-行动算子-collect.mp4
- 065.Spark-RDD-行动算子-collect-补充.mp4
- 066.Spark-RDD-行动算子-其他方法-1.mp4
- 067.Spark-RDD-行动算子-其他方法-2.mp4
- 068.Spark-RDD-行动算子-其他方法-3.mp4
- 069.Spark-RDD-行动算子-Driver端和Executor端数据传输.mp4
- 070.Spark-RDD-序列化-1.mp4
- 071.Spark-RDD-序列化-2.mp4
- 072.Spark-案例-数据格式说明.mp4
- 073.Spark-案例-需求介绍.mp4
- 074.Spark-案例-需求分析.mp4
- 075.Spark-案例-需求设计.mp4
- 076.Spark-案例-开发原则.mp4
- 077.Spark-案例-代码实现-1.mp4
- 078.Spark-案例-代码实现-2.mp4
- 079.Spark-案例-代码实现-3.mp4
- 080.Spark-案例-代码实现-4.mp4
- 081.Spark-RDD-KRYO序列化框架.mp4
- 082.Spark-RDD-依赖关系-介绍.mp4
- 083.Spark-RDD-依赖关系-原理.mp4
- 084.Spark-RDD-依赖关系-血缘关系.mp4
- 085.Spark-RDD-依赖关系-依赖关系.mp4
- 086.Spark-RDD-依赖关系-宽窄依赖关系.mp4
- 087.Spark-RDD-依赖关系-作业,阶段和任务的关系.mp4
- 088.Spark-RDD-依赖关系-任务的数量.mp4
- 089.Spark-RDD-依赖关系-分区的数量.mp4
- 091.Spark-RDD-持久化-cache.mp4
- 092.Spark-RDD-持久化-persist.mp4
- 093.Spark-RDD-持久化-checkpoint.mp4
- 094.Spark-RDD-持久化-shuffle算子的持久化.mp4
- 095.Spark-RDD-分区器.mp4
- 096.Spark-RDD-自定义分区器.mp4
- 097.Spark-两个案例.mp4
- 098.Spark-第一个案例问题原因.mp4
- 099.Spark-广播变量.mp4
- 100.Spark-RDD的局限性.mp4
- 101.SparkSQL-介绍.mp4
- 102.SparkSQL-环境对象的封装.mp4
- 103.SparkSQL-模型对象的封装.mp4
- 104.SparkSQL-SQL的操作.mp4
- 105.SparkSQL-不同场景下环境对象的转换.mp4
- 106.SparkSQL-不同场景下模型数据对象的转换.mp4
- 107.SparkSQL-使用SQL的方式来访问数据模型.mp4
- 108.SparkSQL-使用DSL的方式来访问数据模型.mp4
- 109.SparkSQL-自定义udf函数对象.mp4
- 110.SparkSQL-自定义udf函数的底层实现原理.mp4
- 111.SparkSQL-自定义udaf函数的底层实现原理.mp4
- 112.SparkSQL-自定义udaf函数的实现步骤-1.mp4
- 113.SparkSQL-自定义udaf函数的实现步骤-2.mp4
- 114.SparkSQL-自定义udaf函数的实现步骤-回顾.mp4
- 115.SparkSQL-数据源-CSV.mp4
- 116.SparkSQL-数据源-JSON.mp4
- 117.SparkSQL-数据源-Parquet.mp4
- 118.SparkSQL-数据源-JDBC.mp4
- 119.SparkSQL-数据源-Hive.mp4
- 120.SparkSQL-案例-数据准备.mp4
- 121.SparkSQL-案例-数据准备-补充.mp4
- 122.SparkSQL-案例-需求分析.mp4
- 123.SparkSQL-案例-需求设计.mp4
- 124.SparkSQL-案例-SQL实现-1.mp4
- 125.SparkSQL-案例-SQL实现-2.mp4
- 126.SparkSQL-案例-SQL实现-3.mp4
- 127.SparkSQL-案例-SQL实现-4.mp4
- 128.SparkSQL-案例-SQL实现-5.mp4
- 129.SparkSQL-案例-SQL实现-6.mp4
- 130.SparkSQL-案例-SQL实现-7.mp4
- 131.SparkSQL-案例-SQL实现-8.mp4
- 132.SparkSQL-案例-SQL实现-9.mp4
- 133.SparkStreaming-介绍.mp4
- 134.SparkStreaming-原理.mp4
- 135.SparkStreaming-原理-补充.mp4
- 136.SparkStreaming-课件梳理.mp4
- 137.SparkStreaming-环境准备.mp4
- 138.SparkStreaming-网络(Socket)数据流处理演示.mp4
- 139.SparkStreaming-Kafka数据流处理演示.mp4
- 140.SparkStreaming-DStream方法介绍.mp4
- 141.SparkStreaming-DStream输出方法介绍.mp4
- 142.SparkStreaming-窗口操作.mp4
- 143.SparkStreaming-回顾-1.mp4
- 144.SparkStreaming-回顾-2.mp4
- 145.SparkStreaming-关闭-1.mp4
- 146.SparkStreaming-关闭-2.mp4
- 147.SparkStreaming-关闭-3.mp4
- 148.Spark-内核-运行流程-1.mp4
- 149.Spark-内核-运行流程-2.mp4
- 150.Spark-内核-运行流程-3.mp4
- 151.Spark-内核-核心对象.mp4
- 152.Spark-内核-核心对象通信流程-Netty.mp4
- 153.Spark-内核-Task任务的调度执行.mp4
- 154.Spark-内核-Shuffle底层的实现原理-1.mp4
- 155.Spark-内核-Shuffle底层的实现原理-2.mp4
- 156.Spark-内核-内存管理.mp4
- 157.Spark-内核-内存管理-补充.mp4






