博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第19课:Spark Streaming架构设计和运行机制大总结
阅读量:6948 次
发布时间:2019-06-27

本文共 741 字,大约阅读时间需要 2 分钟。

hot3.png

本期内容:

1,Spark Streaming中的架构设计和运行机制

2,Spark Streaming的深度思考

 

RDD的模板是DStream,RDD DAG的模板是DStreamGraph,Spark Streaming是在RDD的基础上加上时间维度,在Driver端会启动一个定时器,间隔BatchDuration生成Job,在Executor端会启动一个定时器,间隔200ms把接收到的数据放入BlockManager中,并把元数据信息上报给Driver端的ReceiverTracker,整个程序引擎是无时无刻在运行的。

JobGenerator类中有一个timer对象,其间隔BatchDuration发送GenerateJobs消息来生成Job。

      

    BlockGenerator类中有一个blockIntervalTimer对象,每隔200ms调用updateCurrentBuffer方法,把接收到的数据交给BlockManager进行存储,并向ReceiverTracker上报元数据信息。

 

    RecurringTimer类中的loop方法是一个死循环,一直执行,间隔一定的周期回调传入的方法。

    此外,默认的并行度具有遗传性,父RDD的partition个数会遗传给子RDD,当RDD中每个partition中数据较少时,为了提高效率,可以先调用coalesce方法合并到指定的partition个数。Spark Streaming中存在空RDD,即RDD里面没有数据,此时也会生成Job,Job的生成是定时触发的,不关心RDD中是否有数据,这是为了使整个框架能正常运行。

转载于:https://my.oschina.net/u/928448/blog/689381

你可能感兴趣的文章
【安全牛学习笔记】信息收集--DNS
查看>>
Linux 第11天: (08月17日) 练习和作业
查看>>
Install Latest Versions NodeJS NPM on ubuntu
查看>>
Linux常用命令——crontab
查看>>
Discuz! X2 下 URL 静态化的实现方法
查看>>
mongodb删除重复数据
查看>>
项目中常用的第三方框架总结
查看>>
希尔排序
查看>>
nginx 配置支持think php url模式
查看>>
我的友情链接
查看>>
centos7.2下搭建CDH5.8.3
查看>>
Django返回json数据
查看>>
橡皮泥_愤怒的小鸟
查看>>
虚拟机性能测试:六 Oracle VM VirtualBox
查看>>
加班真的有意义吗
查看>>
Redis
查看>>
测试代码插件
查看>>
CentOS6.5最小化安装,自定义安装包
查看>>
hello world!
查看>>
从ASM迁移到ARM(1):平台支持的迁移服务
查看>>