Spark设计理念与基本架构
Spark设计理念与基本架构 https://www.cnblogs.com/swordfall/p/9280006.html 1.基本概念 Spark中的一些概念: RDD(resillient distributed dataset):弹性分布式数据集。 Partition:数据分区。即一个RDD的数据可以划分为多少个分区。 NarrowDependency:窄依赖,即子RDD依赖于父RDD中固定的Partition。Narrow-Dependency分为OneToOneDependency和RangeDependency两种。 ShuffleDependency:shuffle依赖,也称为宽依赖,即子RDD对父RDD中的所有Partition都有依赖。 Task:是送到某个Executor上的工作单元,即具体执行任务。Task分为ShuffleMapTask和ResultTask两种。ShuffleMapTask和ResultTask分别类似于Hadoop中的Map和Reduce。Task是运行Application的基本单位,多个Task组成一个Stage,而Task的调度和管理等是由TaskScheduler负责的。 Job:用户提交的作业。一个Job包含多个Task组成的并行计算,往往由Spark Action触发。 Stage:每个Job会被拆分成多组Task