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 ...
随机推荐
- Asp.Net 之 Web.config下Authorization节点
WebConfig Authorization 节点 授权的目的是确定是否应该授予某个标识对给定资源请求的访问权限类型.有两种基本方式来授予对给定资源的访问权限: [1] 文件授权 文件授权由 Fil ...
- memcached linux / win32 1.4.13
memcached-win32-1.4.13 点击下载 http://pan.baidu.com/s/1kTMABaf memcached -d install (安装为windows service ...
- 24小时学通Linux内核之进程
都说这个主题不错,连我自己都觉得有点过大了,不过我想我还是得坚持下去,努力在有限的时间里学习到Linux内核的奥秘,也希望大家多指点,让我更有进步.今天讲的全是进程,这点在大二的时候就困惑了我,结果那 ...
- hdu 4340 树状DP
思路:我们定义两个数组,ant[Maxn][2],bob[Maxn][2].ant[i][0]表示还未确定哪个城市被全费用占领,ant[i][1]表示确定了哪个城市被全费用占领.那么ant[i][0] ...
- 关于Winform发布时,资源文件缺失的解决方案
今天和大家分享一下,我这几天一直困惑的问题,今天不经意间解决了这个问题,接下来描述一下这个问题: 问题: 最近公司给人家做二次开发,是C/S结构的,我在做Winform时发现,当我选择一个项目发布时, ...
- Six important .NET concepts 【Turn】
Introduction This article will explain six important concepts: stack, heap, value types, reference t ...
- Redis 命令 - Strings
APPEND key value Available since 2.0.0, Time complexity: O(1). Append a value to a key 127.0.0.1:637 ...
- SSRS:之为用户“NT AUTHORITY\NETWORK SERVICE”授予的权限不足,无法执行此操作。 (rsAccessDenied)
错误信息: 为用户"NT AUTHORITY\NETWORK SERVICE"授予的权限不足,无法执行此操作. (rsAccessDenied) 如图: 解决方案之检查顺序: 1. ...
- ASP.NET网站前端页面的复制
网络普及的时代,遇到问题的首要解决方案并不是问人,而是找度娘.当我们找一些技术性的问题时,会发现很多解决方案在博客里,看看博主发表的博客总是惊叹不已,想要自己也有这么一个好习惯,把学到的东西以自己的方 ...
- 【Android】日常开发android.jar文件中十五个重要的包概述
简述Android项目中android.jar文件里包含较为重要的15个系统编译后的class文件 android.app:提供高层的程序模型,提供基本的运行环境android.content:包含各 ...