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

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

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

课程地址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 语义。


相关文章
|
3月前
|
大数据 流计算
大数据-108 Flink 快速应用案例 重回Hello WordCount!方案1批数据 方案2流数据(二)
大数据-108 Flink 快速应用案例 重回Hello WordCount!方案1批数据 方案2流数据(二)
60 0
|
3月前
|
SQL 分布式计算 大数据
大数据-108 Flink 快速应用案例 重回Hello WordCount!方案1批数据 方案2流数据(一)
大数据-108 Flink 快速应用案例 重回Hello WordCount!方案1批数据 方案2流数据(一)
63 0
|
5月前
|
存储 缓存 流计算
Flink 新一代流计算和容错问题之在有状态的算子中,状态更新是怎么记录的
Flink 新一代流计算和容错问题之在有状态的算子中,状态更新是怎么记录的
|
5月前
|
数据处理 流计算 Docker
实时计算 Flink版产品使用问题之进行数据处理时,怎么确保维度的更新在逻辑处理之后进行
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
6月前
|
Shell 数据处理 流计算
实时计算 Flink版产品使用问题之如何实现两个流之间的关联
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
7月前
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用问题之在进行DWS层的实时聚合计算时,遇到多次更新同一个字段的情况,该如何处理
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
8月前
|
负载均衡 算法 大数据
[flink 实时流基础] 转换算子
[flink 实时流基础] 转换算子
102 2
|
8月前
|
消息中间件 SQL Kafka
实时计算 Flink版产品使用合集之构建实时数据仓库时,如何操作在几分钟内一直变化的表
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
8月前
|
消息中间件 分布式计算 Java
流计算与批处理的区别是什么?请举例说明。
流计算与批处理的区别是什么?请举例说明。
123 0
|
8月前
|
传感器 JSON Java
流计算中的流式图处理是什么?请解释其作用和常用操作。
流计算中的流式图处理是什么?请解释其作用和常用操作。
76 0