问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

都2023年了,你还不懂批处理和流处理的区别?

发布网友 发布时间:1天前

我来回答

1个回答

热心网友 时间:1天前

就目前最热的两种流计算引擎Apache Spark和Apache Flink而言,谁最终会成为No1呢?从"低延时"的角度看,Spark是Micro Batching(微批式)模式,最低延迟Spark能达到0.5~2秒左右,Flink是Native Streaming(纯流式)模式,最低延时能达到微秒。显然,相对较晚出道的Apache Flink后来者居上。那么为什么Apache Flink能做到如此之"快"呢?


根本原因是Apache Flink设计之初就认为"批是流的特例",整个系统是Native Streaming设计,每来一条数据都能够触发计算。相对于需要靠时间来积攒数据的MicroBatching模式来说,在架构上就已经占据了绝对优势。


在场景引入分析中,日常工作中,一般会先把数据储存在一张表中,然后对这张表的数据进行加工、分析。而数据的时效性是一个关键概念。处理"年级别"的数据,如人口分析、宏观经济分析,数据最新日期距今间隔一两周甚至一两个月都没什么关系。处理"天级别"的数据,如各大网站的用户偏好分析、零售供销分析,一般晚个几天也是可以的,即T+N更新。如果是"小时级别"的数据,对时效性要求就更高了,如金融风控,涉及资金安全,必须有一张小时级别的数据。还有更高要求的场景,如风险监测,网站必须实时监测系统,一旦有攻击,就必须立刻采取措施。双十一或周年庆时,各大电商平台都经历着严峻的流量考验,也必须对系统进行实时的监测。此外,网站的实时个性化推荐、搜索引擎中对实时性也有极高的要求。这种场景下,传统的数据处理流程——先收集数据,然后放到DB中,再取出来分析——就无法满足这么高的实时要求,因此产生了“流式计算”的处理方法。


流式计算与批量计算形成鲜明对比。收集数据 - 放到DB中 - 取出来分析的传统的流程,叫做批量计算,顾名思义,将数据存起来,批量进行计算。流式计算则是对数据流进行实时计算,它不是更快的批计算,而是完全不同的处理思路。


通过对比,我们可以发现流式计算与批量计算的主要区别:




与批量计算那样慢慢积累数据不同,流式计算将大量数据平摊到每个时间点上,连续地进行小批量的进行传输,数据持续流动,计算完之后就丢弃。




批量计算是维护一张表,对表进行实施各种计算逻辑。流式计算相反,是必须先定义好计算逻辑,提交到流式计算系统,这个计算作业逻辑在整个运行期间是不可更改的。




计算结果上,批量计算对一段时间内的全部数据进行计算后传输结果,流式计算是每次小批量计算后,结果可以立刻投递到在线系统,做到实时化展现。




总结与相关产品方面,流式计算流程包括:① 提交流计算作业;② 等待流式数据触发流计算作业;③ 计算结果持续不断对外写出。流式计算的特点包括:① 实时、低延迟;② 无界,数据是不断无终止的;③ 连续,计算持续进行,计算完之后数据即丢弃;④ 数据量大,但是不十分关注存储,一旦经过处理,要么被丢弃,要么被归档存储;⑤ 注重数据的整体价值,不过分关注个别数据;⑥ 数据顺序颠倒,或者不完整,系统无法控制将要处理的新到达的数据元素的顺序。


流式计算的特征包括:① 无界(Unbounded)——数据记录(record)在计算过程中不断地动态到达,与批处理不同,计算过程开始之前就知道数据大小与边界,更容易优化;② 乱序(Out-of-order)——record的原始顺序和在处理节点上的处理顺序可能不一致,shuffle过程(数据传递)也可能导致顺序改变;③ 延迟(Delay)——record的产生时间和在处理节点上的处理时间可能差别很大。


流式系统相关产品包括:Apache Storm、Heron、Apache Spark streaming、Apache Flink、Apache Kafka、Apache Samza等。批量和流式的区别在于数据处理单位、数据源、任务类型等方面,而离线和实时、批量和流式并没有必然的关系。事实上,Spark streaming就是采用小批量(batch)的方式来实现实时计算。


关于Flink的流处理与批处理,Flink能够同时支持批处理任务与流处理任务,通过灵活的执行引擎实现。在执行引擎这一层,流处理系统与批处理系统最大不同在于节点间的数据传输方式。Flink的执行引擎采用了一种十分灵活的方式,同时支持最低处理延迟和最高吞吐量的数据传输模型,通过调整缓存块的超时阀值,用户可根据需求灵活地权衡系统延迟和吞吐量。


总结而言,Flink和Spark Streaming的本质区别在于Flink能够同时支持批处理任务与流处理任务,而Spark Streaming采用了一种micro-batch的架构,将输入数据流切分成细粒度的batch,并为每个batch数据提交一个批处理Spark任务。此外,Flink采用了一种灵活的数据传输模型,能够同时支持最低处理延迟和最高吞吐量的数据传输,从而满足不同场景下的需求。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
婚床别人睡有什么不利 qq空间怎么上传视频才能保持原画质? 您好,我申请了办理信用卡的,接近过年了,会不会延长审核时间你跟我说... 申请信用卡第四天了,快过年呀,是不是要等到过了年才能下来了_百度知 ... 年前二十五在建行申请的信用卡几天能下卡 现在离过年还有19天,这两天办信用卡能在15天左右收到卡吗? 过年前四天通过的信用卡过年能寄到吗 编辑文档的时候,光标放在漏输文字的地方,输入的文字会把光标后面的文字... 下一站再爱你是谁唱的? 《下一站再爱你》票价 小肠在人体哪个部位 河南省现任高中校长书记没有教师资格证的怎么办 示波器的测试应用有哪些? 别人贷款留我的电话号码是不是担保 身上老是爱长寻麻疹,持续几个月了,每天都要发一次,吃什么药都不管用诶... 上海的我,是怎么活到现在的 大理石上的水果渍怎么去除 在QQ聊天窗口用快捷键切换不了输入法,其他网页浏览可以,求高手 ...在网页上面都可以切换?也重启qq了,电脑也重启了,别说版本问题_百度... 什么时间是蟑螂活动的高峰期? ...场家越多越好~收购价是多少钱一公斤~收购点在哪里 孤儿寡母的意思 封控文件是什么的 什么是迅影AI一键生成视频软件呢? 迅影ai一键生成视频软件好用吗? 贝克诺顿制药有限公司怎么样,浙江李力旅游攻略路线 清媛控油啫喱背景介绍 wwe约翰塞纳穿的黑色衣服和帽子的英文字母是什么意思 ...LOYALTY RESPECT 啥意思(wwe约翰。塞纳旧版衣服上写的) WWEjonhcena约翰塞纳新T恤上的riseabovehate是什么意思? Flink跟Spark的Checkpoint,谁更坑爹 抖音主页怎么隐藏获赞量 主页隐藏获赞量方法介绍 实验:铝粉与氧化铁在高温条件的反应镁的作用两个纸漏斗为什么内层要剪... 铝热反应实验操作及现象 华为eLTE城市轨道交通方案中标深圳地铁11号线通信项目 电脑如何设置锁屏时间(win7电脑如何设置锁屏时间) 电脑如何设置锁屏时间(win7电脑如何设置锁屏时间) win7怎么设置这种格式的屏幕保护程序? iOS 17 待机模式数字时钟:分步指南 微信每年转账限额多少呢? 一般学调酒学费多少 hcie认证是啥 "奇才"用英语怎么写怎么读?谢谢! 爸爸为什么很少打女儿 面包类新型速冻机价格 shoe是什么意思中文? 肯德基帕尼尼面包胚在制作时有什么讲究? 西南风气温8度钓鱼怎么样 公司团餐配送 对不起我离开了句子