zoukankan      html  css  js  c++  java
  • Spark Streaming揭秘 Day19 架构设计和运行机制

    Spark Streaming揭秘 Day19

    架构设计和运行机制

    今天主要讨论一些SparkStreaming设计的关键点,也算做个小结。

    DStream设计

    首先我们可以进行一个简单的理解:DStream就是加上时间维度的RDD。RDD的模板是DStream,DAG的模板是DStreamGraph,RDD的依赖关系就是DStream的依赖关系。

    但是,从DStream的设计来看,我们会发现,DStream的操作和RDD并不是一一对应的,DStream并不直接支持join、orderBy等操作,并增加了window和state等特定操作。

    从设计角度出发,DStream只是对RDD的一个封装,DStream和DStreamGraph只是这个时间的BatchDuration产生RDD功能的一部分,在时间维度下方便我们管理整个RDD生命周期的方方面面,只是方便而已。

    Timer设计

    整个SparkStreaming的设计理念是时间驱动,其驱动力就是定时器Timer。JobScheduler说到底,主要用途就是用来封装定时器。

    其核心是两个定时器,分别位于和BlockGenerator和JobGenerator中:

    blockIntervalTimer不断产生数据。
    Snip20160603_2

    timer则是不断产生作业。
    Snip20160603_3

    并且,我们发现定时器是一个死循环逻辑,也就是说整个集群无时不刻在运行。
    Snip20160603_4

    我们可以认为,SparkStreaming从整体来说,就是由Timer触发周而复始的接收数据和产生Job处理。

    欲知后事如何,且听下回分解

    DT大数据每天晚上20:00YY频道现场授课频道68917580

  • 相关阅读:
    Java面试题3
    Git 命令
    Flutter 基础控件
    Flutter工程目录
    GitHub简介
    Android Studio 安装 Flutter
    Android 权限管理
    结构型模式-适配器模式
    结构型模式-外观模式
    结构型模式-组合模式
  • 原文地址:https://www.cnblogs.com/dt-zhw/p/5557814.html
Copyright © 2011-2022 走看看