Spark基本概念

    xiaoxiao2021-03-25  128

    1、基本架构

    spark程序由Driver Program和Executor Program组成。Driver Program由SparkContext构建,提供应用程序的运行环境。而Executor Program是应用程序的主体部分,在各个节点运行。

    2、基本概念 2.1 - Application:指的是用户编写的Spark应用程序,包含了含有一个Driver Program和分布在集群中的多个Executor Program。 -Driver Program:运行Application的main函数并创建SparkContext,SparkContext的目的是为了准备Spark应用程序的运行环境。SparkContext负责资源的申请、任务分配和监控等。 - Executor Program:为某Application而在Worker Node上运行的一个进程,负责运行Task。每个Application都有各自独立的executors。 - Job:由Spark Action触发产生,一个Application可以包含多个Job。每个Job包含多个Stage。 - Stage:每个Job会拆分为多组Task,称为TaskSet。每组TaskStage称为Stage。 - Task:Application的运行基本单位,Executor上的工作单元。 - RDD:Spark基本计算单元,是Spark最核心的东西。主要有Transformation和Action操作。

    2.2 根据Shuffle操作将Tasks划分为多个Stage。通常宽依赖对应着Shuffle操作。

    宽依赖 –子 RDD 的每个分区依赖于常数个父分区(O(1)) – 输入输出一对一的算子,且结果 RDD 的分区结构不变,主要是 map 、 flatMap – 输入输出一对一,但结果 RDD 的分区结构发生了变化,如 union 、 coalesce – 从输入中选择部分元素的算子,如 filter 、 distinct 、 subtract 、 sample窄依赖 – 子 RDD 的每个分区依赖于所有父 RDD 分区(O(n)) – 对单个 RDD 基于 key 进行重组和 reduce ,如 groupByKey 、 reduceByKey ; – 对两个 RDD 基于 key 进行 join 和重组,如 join
    转载请注明原文地址: https://ju.6miu.com/read-13509.html

    最新回复(0)