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

  • 相关阅读:
    AndroidManifest.xml文件详解(activity)(二)
    Android Studio显示可视化编辑界面
    Delphi XE2 新增 System.Zip 单元,压缩和解压缩文件
    LockBox的安装
    Kernel的意义
    Mathematical optimization数学上的最优化
    矩阵分析
    【2008nmj】支持向量机
    【2008nmj】BP二元分类
    【2008nmj】Logistic回归二元分类感知器算法.docx
  • 原文地址:https://www.cnblogs.com/dt-zhw/p/5557814.html
Copyright © 2011-2022 走看看