流计算与批量计算的区别|学习笔记

简介: 快速学习流计算与批量计算的区别

开发者学堂课程【分布式计算入门流计算与批量计算的区别 】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/375/detail/4702


流计算与批量计算的区别


内容介绍

一、离线数据处理与流数据处理的区别

二、增量计算的特点


一、离线数据处理与流数据处理的区别

离线数据处理-批处理

1.png

流数据处理-流水线

2.png

离线数据是将所有的数据进入一个计算节点,计算完进入下一个 stage。所以简单来看 map 输入到 map 到 shuffle 到 reduce 实际上大家可以从图上可以看到,他们是一个串行计算,也就是说所有的数据进入 map 的计算机用阶段到 shuffle 计算阶段到 reduce 计算的一个 stage 。当然这里 shuffle 是可以和 map 重叠的。他的延时是一个串行。

如图所示,一批数据进入 map、shuffle 、reduce 而后面的数据和前面的数据完全是进行并行的运行。如图所示,它一批数据的延时是相对离线计算大大降低。

3.png

批量计算如同这个食堂里头一口大锅,那么这口锅炒出来的菜一千个人一次就可以炒好,但是对于每个人来说,他这口大锅炒的菜可能要半个小时,对于每个人来说都要等半个小时,才能吃上这种菜。但是呢,他这个锅一次炒就炒一千人。

而流式计算它相当于这种小灶,你进来了它可能十分钟、几秒钟、几分钟肯定让你吃上这口饭。所以他对于每个个体来说、每个计算来说、每个数据来着它的时效性是更好的。那么我们进行对比。


粒度

计算

生命周期

容错监控

面向

DAG

全量

Partition/文件

局部

数据处理完,进程“退出”

进程

吞吐

串行

增量(流)

Batch/内存

有状态

keep alive

数据

延时

并行


二、增量计算的特点

大数据对分布式存储的需求

状态定义

存储,容量

管理,清理

容错

这将会给系统设计带来极大的挑战,大家都知道离线和批量计算器没有这些问题。

Temporal SQL

Update 语义

其实其实在数据库领域已经有比较完备的语义和语言的定义,大家可以去在网上查一下资料。另外,流式计算和增量计算因为流这样特殊的数据定义,他有诸多的时序上和实效性上以及通道上面的不可控性,所以我们引入了 update 语义。


相关文章
|
1天前
|
数据采集 自然语言处理 监控
|
1天前
|
机器学习/深度学习 分布式计算 数据处理
Spark是一个基于内存的通用数据处理引擎,可以进行大规模数据处理和分析
【5月更文挑战第2天】Spark是一个基于内存的通用数据处理引擎,可以进行大规模数据处理和分析
24 3
|
1天前
|
负载均衡 算法 大数据
[flink 实时流基础] 转换算子
[flink 实时流基础] 转换算子
|
1天前
|
消息中间件 网络协议 大数据
[flink 实时流基础]源算子和转换算子
[flink 实时流基础]源算子和转换算子
|
1天前
|
流计算
Flink CDC里假设我做widow计算使用ProcessTime计算
【1月更文挑战第23天】【1月更文挑战第113篇】Flink CDC里假设我做widow计算使用ProcessTime计算
200 45
|
1天前
|
消息中间件 分布式计算 Java
流计算与批处理的区别是什么?请举例说明。
流计算与批处理的区别是什么?请举例说明。
42 0
|
1天前
|
传感器 JSON Java
流计算中的流式图处理是什么?请解释其作用和常用操作。
流计算中的流式图处理是什么?请解释其作用和常用操作。
27 0
|
1天前
|
传感器 监控 Java
流计算中的数据延迟是什么?为什么它在流计算中很重要?
流计算中的数据延迟是什么?为什么它在流计算中很重要?
119 0
|
8月前
|
存储 JSON 自然语言处理
【ODPS新品发布第2期】实时数仓Hologres:推出计算组实例/支持JSON数据/向量计算+大模型等新能力
本期将重点介绍Hologres推出计算组实例,Hologres支持JSON数据 ,Hologres向量计算+大模型能力,Hologres数据同步新能力,Hologres数据分层存储
|
SQL 运维 OLAP
二、【计算】流|批|OLAP一体 的Flink引擎(下) | 青训营笔记
二、【计算】流|批|OLAP一体 的Flink引擎(下) | 青训营笔记
二、【计算】流|批|OLAP一体 的Flink引擎(下) | 青训营笔记