- 博客(3)
- 收藏
- 关注
原创 Spark shuffle 源码详解
mapreduce的mapTask负责计算输入文件的一段数据,mapTask和mapTask之间是没有关系的,是并行运行的;ReduceTask负责接收从mapTask处理的数据并通过逻辑计算最终得到结果集中的一个子集。
2023-08-17 14:08:55 267
原创 Spark Task执行源码分析
递归的核心方法是getOrCreateShuffleMapStage。这个方法维护了一个stack栈,用于保存该rdd的父rdd;不停遍历stack中的rdd,看其中的dependency是否是宽依赖,如果是则加入到hashset中,如果不是,再递归寻找父rdd,直到没有父rdd为止。Executor执行Task的入口是CoarseGrainedExecutorBackend类中的LaunchTask消息的处理。之间的依赖关系,如果是窄依赖,会继续找父。开始,调用递归,从后往前推,找该。
2023-08-08 16:55:05 76
原创 一个Spark Application在Spark集群中的运行源码分析
DAG,中文含义是有向无环图,主要是用来描述任务之间的先后关系。spark中的DAGScheduler主要是负责任务的逻辑调度。负责将job拆分成不同阶段的具有依赖关系的多批次任务,并且指定调度逻辑。具体特点如下DAG图有向无环,无循环依赖多个没有关系的stage之间可以并行调度支持基于血缘的任务恢复spark可以通过将中间结果持久化到内存中用于提升程序的效率spark driver中最重要的三个组件分别是。三者之间的关系可以这样理解。如果将spark比作一家公司。
2023-08-04 16:18:08 53
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人