简述spark重要术语:RDD;DAG;Executor;Application;Task;Job;Stage
时间: 2023-09-15 08:15:59 浏览: 231
1. RDD(Resilient Distributed Datasets):弹性分布式数据集,是Spark中最基本的数据抽象,是一个不可变的分布式对象集合,可以并行计算。RDD可以通过从Hadoop InputFormat中读取数据、在Spark中的其他RDD转换操作和从外部存储系统中获取数据创建。
2. DAG(Directed Acyclic Graph):有向无环图,它表示Spark任务执行的依赖关系。每个Spark应用程序都会生成一个DAG,用于描述任务之间的依赖关系。
3. Executor:执行器,是Spark中执行计算任务的工作进程。一个Spark应用程序可以由多个Executor组成,每个Executor都运行在独立的JVM进程中,负责运行Spark应用程序中的任务。
4. Application:Spark应用程序,是一个包含了用户编写的Spark任务代码和Spark集群上的资源配置信息的集合。在Spark中,应用程序通常以JAR包的形式提交到Spark集群中运行。
5. Task:任务,是Spark应用程序中最小的计算单元,是对RDD的一个分区进行操作的一段代码。每个Task都会被分配到一个Executor上运行。
6. Job:作业,是由一组相关的Task组成的,这些Task可以并行执行,且它们之间存在依赖关系。Spark应用程序中的每个Action操作都会生成一个Job。
7. Stage:阶段,是Spark作业中的一个任务划分单元,是由若干个Task组成的。Spark会将一个Job划分成多个Stage,以便进行并行计算。一个Stage中的所有Task都可以并行执行,但是它们之间存在着依赖关系。Spark将具有相同的计算依赖关系的Task划分为同一个Stage。
阅读全文