写点什么

w13- 总结 - 批流一体真的可以吗?

用户头像
麻辣
关注
发布于: 2020 年 09 月 09 日

大数据的平台是否可以批流一体?



大数据平台的计算过程可以分为批计算与流式计算。批计算是在数据集已知的情况下进行计算的过程;流式计算是数据集未知的情况下进行的计算。举个例子:计算今天用户日活,是利用今天所有的访问日志,对用户ID进行排重后进行加和,在计算开始是,数据集已经确定且不会变化,所以这是批计算;计算当前在线用户数,是读取最近10分钟的访问日志,对用户ID进行排查后的结果进行加和,随着时间的推移,计算的数据发生变化的,导致计算结果随着数据集的变化而变化,这是流计算。



简单来看,好像批处理与流计算非常相似,只是数据集的大小有所差别而已。所以,有的大数据平台希望建立批流一体计算平台(如flink)。希望批计算与流计算使用的是同一个计算代码,只是通过不同的途径来输入不同的数据。

但仔细分析,其实批计算与流计算很难在真正意义上的统一。其根本区别是,数据集大小来划分批流计算,其实是很表象的,本质上是,批计算是基于完整的数据集的计算。而流计算是基于状态数据的计算。基于状态的计算举个例子:计算某一个页面的访问量,使用流计算的方法是,有一个状态值-count = 0, 当有一个访问事件,count+1,第二个访问事件时count +1 = 2,依次类推,所以流失计算有点类似的数据事件驱动计算,数据驱动了状态的变化。批计算是通过算法读取数据进行计算。



由于在基本批计算与流计算本质上的区别,会导致在支撑模块上的区别,资源调度策略上的区别,流程规划上的区别等等。这些区别是的批流很难真正意义上的统一。



用户头像

麻辣

关注

还未添加个人签名 2018.10.13 加入

还未添加个人简介

评论 (1 条评论)

发布
用户头像
那你如何看待Flink做流批一体的进展呢?
2020 年 12 月 02 日 10:43
回复
没有更多了
w13-总结-批流一体真的可以吗?