Spark工作机制

主要模块

  • 调度与任务分配
  • I/O模块
  • 通信控制模块
  • 容错模块
  • Shuffle模块

调度层次

  • 应用
  • 作业
  • Stage
  • Task

调度算法

  • FIFO
  • FAIR(公平调度)

Spark应用执行机制

总览

Spark应用提交后经历了一系列的转换,最后成为Task在每个节点上执行.

  • RDD的Action算子触发Job的提交,提交到Spark中的Job生成RDD DAG
  • 由DAGScheduler转化为Stage Dage
  • 每个Stage中产生相应的Task集合
  • TaskScheduler将任务分发到Executor执行

每个任务对应相应的一个数据块,使用用户定义的函数处理数据块.

Spark实现了分布式计算和任务处理,并实现了任务的分发,跟踪,执行等工作.最终聚合结果,完成Spark应用的计算.

对RDD的块管理通过BlockManger完成.BlockManager将数据抽象为数据块,在内存或者磁盘进行存储,如果数据不在本节点,则还可以通过远端节点复制到本机进行计算.

Spark应用

执行模式

  • Local
  • Standalone
  • YARN
  • Mesos
  • Cluster模式
  • Client模式

应用的基本组件

  • Application:用户自定义的Spark程序,用户提交后,Spark为App分配资源,将程序转换并执行
  • Driver Program:运行Application的main()创建并创建SparkContext
  • RDD Graph:RDD是Spark的核心结构,当RDD遇到Action算子时,将之前的所有算子形成一个DAG,也就是RDD Graph.再在Spark中转化为Job,提交到集群执行.一个App中可以包含多个Job.
  • Job:一个RDD Graph触发的作业,往往由Spark Action算子触发.在SparkContext中通过runJob方法向Saprk提交Job.
  • Stage:每个Job会根据RDD的宽依赖关系呗切分很多Stage,每个Stage中包含一组相同的Task,这一组Task也叫TaskSet.
  • Task:一个分区对应一个Task,Task执行RDD中对应Stage中包含的算子.Task被封装好后放入Executor的线程池中执行.

Spark工作机制简述的更多相关文章

  1. 大数据学习笔记——Spark工作机制以及API详解

    Spark工作机制以及API详解 本篇文章将会承接上篇关于如何部署Spark分布式集群的博客,会先对RDD编程中常见的API进行一个整理,接着再结合源代码以及注释详细地解读spark的作业提交流程,调 ...

  2. Spark checkpoint机制简述

    本文主要简述spark checkpoint机制,快速把握checkpoint机制的来龙去脉,至于源码可以参考我的下一篇文章. 1.Spark core的checkpoint 1)为什么checkpo ...

  3. Spark(四) -- Spark工作机制

    一.应用执行机制 一个应用的生命周期即,用户提交自定义的作业之后,Spark框架进行处理的一系列过程. 在这个过程中,不同的时间段里,应用会被拆分为不同的形态来执行. 1.应用执行过程中的基本组件和形 ...

  4. Spark SQL中的Catalyst 的工作机制

      Spark SQL中的Catalyst 的工作机制 答:不管是SQL.Hive SQL还是DataFrame.Dataset触发Action Job的时候,都会经过解析变成unresolved的逻 ...

  5. Hadoop的namenode的管理机制,工作机制和datanode的工作原理

    HDFS前言: 1) 设计思想 分而治之:将大文件.大批量文件,分布式存放在大量服务器上,以便于采取分而治之的方式对海量数据进行运算分析: 2)在大数据系统中作用: 为各类分布式运算框架(如:mapr ...

  6. MapRdeuce&Yarn的工作机制(YarnChild是什么)

    MapRdeuce&Yarn的工作机制 一幅图解决你所有的困惑 那天在集群中跑一个MapReduce的程序时,在机器上jps了一下发现了每台机器中有好多个YarnChild.困惑什么时Yarn ...

  7. Spark 概念学习系列之Spark存储管理机制

    Spark存储管理机制 概要 01 存储管理概述 02 RDD持久化 03 Shuffle数据存储 04 广播变量与累加器 01 存储管理概述 思考: RDD,我们可以直接使用而无须关心它的实现细节, ...

  8. android 6.0 高通平台sensor 工作机制及流程(原创)

    最近工作上有碰到sensor的相关问题,正好分析下其流程作个笔记. 这个笔记分三个部分: sensor硬件和驱动的工作机制 sensor 上层app如何使用 从驱动到上层app这中间的流程是如何 Se ...

  9. Java IO工作机制分析

    Java的IO类都在java.io包下,这些类大致可分为以下4种: 基于字节操作的 I/O 接口:InputStream 和 OutputStream 基于字符操作的 I/O 接口:Writer 和 ...

随机推荐

  1. Codeforces#371 Div2

    这是一场非常需要总结的比赛,交了3题,最后终测的时候3题全部没过,一下掉到了绿名,2333 Problem A 题意:给定区间[l1,r1],[l2,r2],然后给定一个整数k,求区间当中相交的元素, ...

  2. xtrabackup数据库备份

    xtrabackup备份 一.Xtrabackup概述 1.1.简介 Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Ho ...

  3. ecos的app机制

    底层->支持层->业务 底层base 数据库访问 service管理 app管理 kvstore存储 kvcache缓存 支持层 pam登录验证 dbeav数据库扩展功能 site前台 d ...

  4. HDU 2498 Digits

    水题.题目这样定义的,另f(x)为x有几位,x[i]=f(x[i-1]); 求最小的i使得x[i]==x[i-1] #include<cstdio> #include<cstring ...

  5. 7 -- Spring的基本用法 -- 11...

    7.11 基于XML Schema的简化配置方式 Spring允许使用基于XML Schema的配置方式来简化Spring配置文件. 7.11.1 使用p:命名空间简化配置 p:命名空间不需要特定的S ...

  6. 3D VR卡镜的使用方法

    先把它展开 然后把它卡在手机中间 介绍一个VR游戏资源 Chair In a Room,这是一个立体沉浸式的3D游戏,原理是陀螺仪传感器随着手机转动可以观察整个三维房间 如图所示,点击进入,将两眼放到 ...

  7. 手机端 H5上传头像

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  8. 关于div宽度和高度的100%设定

    设置DIV大小的有两个属性width和height,以前在学习DIV每次给DIV设置100%宽度或高度时都很迷惑,不明白这个100%的宽度(高度)到底有多宽有多高?这个100%是从哪里得到的从哪里继承 ...

  9. 你会做Web上的用户登录功能吗?

    Web上的用户登录功能应该是最基本的功能了,可是在我看过一些站点的用户登录功能后,我觉得很有必要写一篇文章教大家怎么来做用户登录功能.下面的文章告诉大家这个功能可能并没有你所想像的那么简单,这是一个关 ...

  10. X-007 FriendlyARM tiny4412 u-boot移植之内存初始化

    <<<<<<<<<<<<<<<<<<<<<<<<< ...