• 大三寒假学习 spark学习 spark运行架构


    基本概念:

    • RDD:是Resillient Distributed Dataset(弹性分布式数据集)的简称,是分布式内存的一个抽象概念,提供了一种高度受限的共享内存模型
    • DAG:是Directed Acyclic Graph(有向无环图)的简称,反映RDD之间的依赖关系
    • Executor:是运行在工作节点(WorkerNode)的一个进程,负责运行Task
    • Application:用户编写的Spark应用程序
    • Task:运行在Executor上的工作单元
    • Job:一个Job包含多个RDD及作用于相应RDD上的各种操作
    • Stage:是Job的基本调度单位,一个Job会分为多组Task,每组Task被称为Stage,或者也被称为TaskSet,代表了一组关联的、相互之间没有Shuffle依赖关系的任务组成的任务集

    Spark运行架构:

      

    架构设计:

      与Hadoop MapReduce计算框架相比,Spark所采用的Executor有两个优点:

    • 利用多线程来执行具体的任务,减少任务的启动开销
    • Executor中有一个BlockManager存储模块,会将内存和磁盘共同作为存储设备,有效减少IO开销

     Spark中各种概念之间的相互关系:

    一个Application由一个Driver和若干个Job构成,一个Job由多个Stage构成,一个Stage由多个没有Shuffle关系的Task组成

    当执行一个Application时,Driver会向集群管理器申请资源,启动Executor,并向Executor发送应用程序代码和文件,然后在Executor上执行Task,运行结束后,执行结果会返回给Driver,或者写到HDFS或者其他数据库中

  • 相关阅读:
    js数组
    关于编程,程序员的一些语录
    css心得
    js函数
    一些电脑基础知识
    gnome3安装
    C学习小记
    ubuntu重装系统后
    elinks文字浏览器
    快捷方式
  • 原文地址:https://www.cnblogs.com/fengchuiguobanxia/p/15819925.html
Copyright © 2020-2023  润新知