Spark Streaming 是基于spark的流式批处理引擎,其基本原理是把输入数据以某一时间间隔批量的处理,当批处理间隔缩短到秒级时,便可以用于处理实时数据流。

本节描述了Spark Streaming作业的执行流程。

图1 Spark Streaming作业的执行流程

具体流程:

  1. 客户端提交作业后启动Driver,Driver是park作业的Master。
  2. 每个作业包含多个Executor,每个Executor以线程的方式运行task,Spark Streaming至少包含一个receiver task。
  3. Receiver接收数据后生成Block,并把BlockId汇报给Driver,然后备份到另外一个Executor上。
  4. ReceiverTracker维护Reciver汇报的BlockId。
  5. Driver定时启动JobGenerator,根据Dstream的关系生成逻辑RDD,然后创建Jobset,交给JobScheduler。
  6. JobScheduler负责调度Jobset,交给DAGScheduler,DAGScheduler根据逻辑RDD,生成相应的Stages,每个stage包含一到多个task。
  7. TaskScheduler负责把task调度到Executor上,并维护task的运行状态。
  8. 当tasks,stages,jobset完成后,单个batch才算完成。

http://www.cnblogs.com/shenh062326/p/3946341.html

Spark Streaming 执行流程相关推荐

  1. 深入理解Spark Streaming执行模型

    摘要:Spark Streaming是Spark中最常用的组件之一,将会有越来越多的有流处理需求的用户踏上Spark的使用之路.本文描述了Spark Streaming的架构并解释如何去提供上述优势, ...

  2. 【大数据开发】SparkCore——Spark作业执行流程、RDD编程的两种方式、简单算子

    文章目录 一.Spark作业执行流程(重点) 二.RDD编程 2.1创建RDD的⼆种⽅式: 2.2Transformation算⼦ 2.3Action算子 三.简单算子(必须掌握) 3.1 map.m ...

  3. Spark任务执行流程

    这是Spark官方给的图,大致意思就是: 四个步骤 1.构建DAG(有向无环图)(调用RDD上的方法) 2.DAGScheduler将DAG切分Stage(切分的依据是Shuffle),将Stage中 ...

  4. springsecurity原理执行流程_3. Spark原理-执行流程解析

    概念 Job 当在RDD上执行Action操作时就会提交一个Job.这个Job会将RDD分为多分,并将每份RDD提交到集群执行. Stage 当一个Job提交后将分解为多个Stage. Task 一个 ...

  5. Spark SQL执行流程解析之 sql执行顺序

    一.Spark SQL模板解析 Spark Sql 关键字执行顺序跟Sql执行顺序类似: 1.先将from前两表做笛卡尔积加载进来形成虚拟表vt1, 2.on条件后为真的插入虚拟表形成vt2, 如果包 ...

  6. Spark Streaming实践和优化

    2019独角兽企业重金招聘Python工程师标准>>> Spark Streaming实践和优化 博客分类: spark 在流式计算领域,Spark Streaming和Storm时 ...

  7. 基于案例贯通 Spark Streaming 流计算框架的运行源码

    本期内容 : Spark Streaming+Spark SQL案例展示 基于案例贯穿Spark Streaming的运行源码 一. 案例代码阐述 : 在线动态计算电商中不同类别中最热门的商品排名,例 ...

  8. 编程实现将rdd转换为dataframe:源文件内容如下(_第四篇|Spark Streaming编程指南(1)

    Spark Streaming是构建在Spark Core基础之上的流处理框架,是Spark非常重要的组成部分.Spark Streaming于2013年2月在Spark0.7.0版本中引入,发展至今 ...

  9. Spark Streaming 原理剖析

    通过源码呈现 Spark Streaming 的底层机制. 1. 初始化与接收数据 Spark Streaming 通过分布在各个节点上的接收器缓存接收到的流数据并将流数 据 包 装 成 Spark ...

最新文章

  1. 畅想下计算机/计算型设备的未来
  2. USACO Training Section 1.3混合牛奶 Mixing Milk
  3. CentOS HarBor安装与配置
  4. mysql把select结果存到变量中_mysql实例 select into保存到变量的例子
  5. Docker+Nginx部署Angular
  6. 收回软键盘的两种方式
  7. JavaCC报错:ERROR: Second call to constructor of static parser
  8. eclipse 快捷键
  9. 计算机控制多少度,计算机控制中的模糊调度设计
  10. mfsmatelogger安装脚本
  11. Netty的使用:Server和Client通信
  12. 集成学习——机器学习(周志华)
  13. LoadRunner11下载以及详细破解说明
  14. Multisim14.1中/英文版软件下载和安装教程|兼容WIN10
  15. 吴恩达-机器学习-简单决策树
  16. 试着在unity实现阴阳师抽卡效果
  17. boost circular_buffer
  18. springboot @Value取不到值
  19. root下备份mysql_如何用指令行备份mysql下所有数据库
  20. 知识图谱嵌入的Translate模型汇总(TransE,TransH,TransR,TransD

热门文章

  1. 指针变量p与“零值”进行比较的if 语句怎么写?
  2. 汇编:源文件asm, exe可执行文件
  3. pyqt5中信号与槽的认识
  4. 面向对象的程序设计——理解对象
  5. 第九课 特殊权限set_uid、stick_bit,软链接,硬链接
  6. (3)-JSONObject的过滤设置
  7. Linq to sql查询句法
  8. 使用Docker部署Node.js中的Vue项目
  9. Python 多进程的进程池pool运行时报错:ValueError: Pool not running
  10. scrapy实现post请求与请求传参