zoukankan      html  css  js  c++  java
  • Spark Streaming架构设计和运行机制总结

    本期内容 :

    • Spark Streaming中的架构设计和运行机制
    • Spark Streaming深度思考

      

       Spark Streaming的本质就是在RDD基础之上加上Time ,由Time不断的运行触发周而复始的接收数据及产生Job处理数据。

    一、 ReceiverTracker :

      Receiver数据接收器的启动、接收数据过程中元数据管理,元数据管理是使用内部的RPC。

      根据时间的间隔把数据分配给当前的BatchDuration :

      

      通过Dstreams中的StreamID以及这个DStreamID给这个时间段(getReceivedQueue(SteamID))的Block为例 :

      

      不断的分配是依赖定时器,看数据生成的时候怎么产生数据及通过他的方式管理数据的 。

      

      不断接收数据并保存起来,在BlockTracker启动Receiver时首先会启动StartReceiver 。

      

      写数据时有不同的BlockHandler 。

      

      Receiver自己的RPC ,响应不同的消息。

       

      定时器按照具体的时间间隔 :

      

      

      

    二、 currentBuffer :

      把接收的数据保存在一个currentBuffer数据结构(属于临时数据结构)中,每次根据其时间间隔进行,每次都会New一下currentBuffer,默认是200MS。 

      

      

      

      

     三、 架构思考 :

        从Spark Streaming的角度讲静态生成Dstreams,Dstreams当遇到时间的时候才会生成RDD和DStreamGenerator。

       基于DStreamGenerator就构成了这个依赖关系。调度层面讲JobScheduler,是基于时间的流处理框架。

      

      根据BatchDuration的时钟不断循环,不断的发送消息 。

         

      

      

       以时间为基准 不断的发送消息给event 。

      

       

      

      生成作业 :

      

      

      Spark Streaming运行核心:

        Spark RDD加上Time,无论是从概念还是数据接收、数据处理,Time是驱动力,不断的循环事件、消息,时间的确定、数据、RDD接着就转到Spark Core。

      

  • 相关阅读:
    html iframe 滚动条
    Angular-Ant Desigin 开篇
    端口访问不了的原因
    swift 加载 本地html 和 网络路径
    xcode9.4 报错 error:The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.
    viewDidLoad, viewWillDisappear, viewWillAppear等区别及各自的加载顺序
    JavaScript设计模式之一Interface接口
    ES6原生Class
    react portals
    react-native-pushy 热更新
  • 原文地址:https://www.cnblogs.com/yinpin2011/p/5565250.html
Copyright © 2011-2022 走看看