Spark Streaming揭秘 Day20 动态Batch size实现初探(上)
Spark Streaming揭秘 Day20
动态Batch size实现初探(上)
今天开始,主要是通过对动态Batch size调整的论文的解析,来进一步了解SparkStreaming的处理机制,因为比较偏理论,么有代码演示。
缘起
从目前的业务发展来看,线上处理目前来看已经越来越重要,而一个突出的矛盾就是,传统框架Oracle+j2ee的框架下,存在一个致命的问题,就是无法突破单台机器的局限,可能容纳此刻流入的数据,于是分布式流处理程序越来越火热。
流处理的核心是追求更快的处理速度。但是以目前的技术现状来看,还无法达到最快,所以容错问题也非常的重要。目前主流的框架,都会使用MapReduce思想对流入的数据不断进行处理,MapReduce最大的优势是在于自身带有完备的容错机制。
挑战
流处理系统最大的挑战是在于,可能会面对突然来临的波峰,流处理系统必须能应对这种情况。
过去的系统的解决方式:
丢弃数据:只能在一些特殊场景使用,对业务会有影响。
动态调整资源:很多时候,资源和数据的增长不是线性关系,很难根据数据的趋势来调整资源。
在SparkStreaming中,使用了第三种方案,就是动态调整Batch size。
一般来说,Batch size越小就越快,越快就越安全,低延时是首要的目标。
但在指定时间窗口限制下,对于Batch size调整幅度来说,是一个很综合的课题,数据量是一个方面,计算内部的算子也是非常重要的方面,某些算子下在数据量规模大的情况下,Batch Duration和延时之间的关系会很复杂。

从Join的时间曲线可以看到,当数据流速增加到2.4MB/s时,处理速度恶化明显加快,而在Reduce中,表现完全不同。
算法要求
如何调整,需要一个算法的支持。
因为不同的算子下,处理延时并不是呈现线性规律,随着吞吐量的变化,很难用静态模型预测实际情况的。
对于这个算求在要求拥有更低的延时的同时,必须能能适配不同算子带来的变化。

同时,在设计时还需要有一些其他的难点考虑:
- 能对workload的非线性表现进行适配。
- 能消除干扰因素影响。
- 能平衡计算精确性和灵活性之间的矛盾。
具体算法,我们将在明天展开。
欲知后事如何,且听下回分解
DT大数据每天晚上20:00YY频道现场授课频道68917580
Spark Streaming揭秘 Day20 动态Batch size实现初探(上)的更多相关文章
- Spark Streaming揭秘 Day21 动态Batch size实现初探(下)
Spark Streaming揭秘 Day21 动态Batch size实现初探(下) 接昨天的描述,今天继续解析动态Batch size调整的实现. 算法 动态调整采用了Fix-point迭代算法, ...
- Spark Streaming中动态Batch Size实现初探
本期内容 : BatchDuration与 Process Time 动态Batch Size Spark Streaming中有很多算子,是否每一个算子都是预期中的类似线性规律的时间消耗呢? 例如: ...
- Spark Streaming揭秘 Day28 在集成开发环境中详解Spark Streaming的运行日志内幕
Spark Streaming揭秘 Day28 在集成开发环境中详解Spark Streaming的运行日志内幕 今天会逐行解析一下SparkStreaming运行的日志,运行的是WordCountO ...
- Spark Streaming揭秘 Day17 资源动态分配
Spark Streaming揭秘 Day17 资源动态分配 今天,让我们研究一下一个在Spark中非常重要的特性:资源动态分配. 为什么要动态分配?于Spark不断运行,对资源也有不小的消耗,在默认 ...
- Spark Streaming揭秘 Day10 从BlockGenerator看接收数据的生命周期
Spark Streaming揭秘 Day10 从BlockGenerator看接收数据的生命周期 昨天主要介绍了SparkStreaming中对于Receiver的生命周期管理,下面让我们进入到Re ...
- Spark Streaming揭秘 Day2-五大核心特征
Spark Streaming揭秘 Day2 五大核心特征 引子 书接上回,Streaming更像Spark上的一个应用程序,会有多个Job的配合,是最复杂的Spark应用程序.让我们先从特征角度进行 ...
- Spark Streaming揭秘 Day34 解析UI监听模式
Spark Streaming揭秘 Day34 解析UI监听模式 今天分享下SparkStreaming中的UI部分,和所有的UI系统一样,SparkStreaming中的UI系统使用的是监听器模式. ...
- Spark Streaming揭秘 Day33 checkpoint的使用
Spark Streaming揭秘 Day33 checkpoint的使用 今天谈下sparkstreaming中,另外一个至关重要的内容Checkpoint. 首先,我们会看下checkpoint的 ...
- Spark Streaming揭秘 Day30 集群模式下SparkStreaming日志分析
Spark Streaming揭秘 Day30 集群模式下SparkStreaming日志分析 今天通过集群运行模式观察.研究和透彻的刨析SparkStreaming的日志和web监控台. Day28 ...
随机推荐
- Magical Forest
Problem Description There is a forest can be seen as N * M grid. In this forest, there is some magic ...
- iOS之内购
很久之前就想出一篇IOS内付费的教程,但是一查网上的教程实在太多了,有的写得真的蛮不错的,就心想算了,于是就保存在草稿箱了.至于为什么写完它呢!真是说来话长,最近公司有个项目经理跑来问我有关苹果内付费 ...
- hibernate 入门案例
1,创建工程,导入jar ojdbc14.jar 数据库驱动包,我用的是oracle数据库,根据实际的数据库选择驱动包 创建java类,并利用bibernate插件完成orm映射,创建hbm.xml ...
- android源码编译过程
1.下载好android源码包. 2.装好vm,ubuntu(如果能在实体机装linux更好). 3.安装所需要的deb包 在终端执行如下命令: sudo apt-get install flex b ...
- python(3)-内置函数2
frozenset() 定义一个不能添加修改的集合 >>> s = frozenset() >>> s.add("aaa") Traceb ...
- CF Spreadsheets (数学)
Spreadsheets time limit per test 10 seconds memory limit per test 64 megabytes input standard input ...
- LeetCode 122
Best Time to Buy and Sell Stock II Say you have an array for which the ith element is the price of a ...
- Android异常:异步任务导致的窗口句柄泄漏问题
05-05 10:36:41.009: E/WindowManager(4243): Activity com.tao.MyActivity has leaked window com.android ...
- HTML5与CSS3基础教程第八版学习笔记7~10章
第七章,CSS构造块 CSS里有控制基本格式的属性(font-size,color),有控制布局的属性(position,float),还有决定访问者打印时在哪里换页的打印控制元素.CSS还有很多控制 ...
- React History
1. browerhistory 1. 推荐使用, 2. nginx服务器要配置try-file,当找不到路由时跳转到首页 3. 使用浏览器history对象,不再允许直接访问nn 所以不能直接拷贝地 ...