
咕泡 - 令人费解的Spark任务流
来自 网络整理·免费领取学习资源
8,636 领取 · 6,145 收藏更新于 2026年9月20日
这份资料来自网络整理2026年的付费VIP课,内容以视频为主,对应《咕泡 - 令人费解的Spark任务流》。官网需要单独购买,有集上可以免费领取。
课程介绍
- 1、 build operator DAG:主要是RDD转化成为DAG
- 2、 split graph into stages oftasks:主要完成了finalStage的创建和Stage的划分。做好stage和task的准备工作,提交taskSet
- 3、 launch tasks via clustermanager:使用集群管理者clustermanager分配资源和任务,任务失败,有一个自己的重构和容错机制
- 4、 executor tasks:执行任务,把中间结果和最终结果存储到存储体系中
RDD:是分布式的弹性的数据集
为什么要用RDD
- 1、 RDD是一个容错的并行的数据结构,可以控制将数据存储到内存或者磁盘,能够获取数据的分区数据。RDD里边提供了scala的函数操作。例如:map、flatMap、filter、reduce。这些操作很多都是transformation。此外还有join、groupBy、groupByKey、reduceByKey。这些都是可以作为spark的RDD的数据处理
- 2、 依赖的划分:一个RDD可以包含一个或者多个分区,每个分区的数据其实是数据集的一个小片段。创建DAG的时候会把RDD使用依赖关系进行串联。每个RDD都有自己的依赖
- 3、 上游的RDD计算过程中允许多个节点并发的执行。分区数量决定了并发任务的多少
- 4、 容错:传统的数据库容错,使用的是日志的方式容灾,数据的恢复都是依赖于重新执行日志中的SQL,hadoop使用的备份机制。RDD本身是一个不可变的数据集,当某个Worker几点计算任务失败,可以是用DAG重新调度计算。但是流式计算中必须存储日志和检查点,进行数据的恢复
贡献者
林一
黄金