zoukankan      html  css  js  c++  java
  • SPARK:作业基本运行原理

    Spark作业基本运行原理:

      我们使用spark-submit提交一个spark作业之后,这个作业就会启动一个对应的Driver进程。根据你使用的部署模式(deploy-mode)不同:
    1)Driver进程可能在本地启动,也可能在集群中的某个工作节点上启动;
    2)Driver进程本身会根据我们设置的参数,占有一定数量的内存和CPU core。
    而Driver进程要做的第一件事情,就是向集群管理器(可以是Spark Standlone集群,也可以是其他的资源管理集群,比如:YARN作为资源管理集群。)申请运行spark作业需要使用的资源,这里的资源指的是Executor进程。YARN集群管理器会根据我们为Spark作业设置的资源参数,在各个工作节点上,启动一定数据量的Executor进程,每个Executor进程都会占有一定数量的内存和CPU core。

       在申请到了作业执行所需要的资源之后,Driver进程就会开始调用和执行编写的作业代码。Driver进程会将编写的Spark作业代码拆分为多个stage,每个stage执行一部分代码片段,并为每个stage创建一批task,然后将这些task分配到各个Executor进程中执行。

      task是最小的计算单元,负责执行一模一样的计算逻辑(编写代码的某个片段),只是每个task处理的数据不同而已。一个stage的所有task都执行完成之后,会在各个节点本地的磁盘文件中写入计算中间结果,然后Driver就会调度运行下一个stage。下一个stage的task的输入数据就是上一个stage输出的中间结果。如此循往复,直到将我们自己的编写的代码全部执行完成,并且计算完所有的数据,得到我们想要的结果为止。

    参考《Spark性能优化:资源调优篇

    Spark不错的文章:

    Spark技术内幕:Executor分配详解

    Spark运行原理

    Spark 基础(上篇)

    Spark 基础(下篇)

  • 相关阅读:
    php命令注入
    mysql事物
    安装php环境
    移除服务器缓存实例
    show user profile synchronization tools
    manual start user profile import
    JSON is undefined. Infopath Form People Picker in SharePoint 2013
    asp.net web 应用站点支持域账户登录
    Load sharepoint envirement by powershell
    sharepoint 2016 download
  • 原文地址:https://www.cnblogs.com/yy3b2007com/p/9014169.html
Copyright © 2011-2022 走看看