Flink执行模式(批和流)如何选择

server/2024/12/24 2:30:25/

DataStream API支持不同的运行时执行模式(batch/streaming),你可以根据自己的需求选择对应模式。

DataStream API的默认执行模式就是streaming,用于需要连续增量处理并且预计会一直保持在线的无界(数据源输入是无限的)作业。

而batch执行模式则用于有界(输入有限)作业,即已知的输入是固定的,并且不会连续运行。

Flink统一了对batch和streaming不同执行模式的处理方式,即共用同一套api,不管你配置了什么执行模式。这也意味着在有限的输入上,batch和streaming的处理最终结果应该是相同的。这里强调最终结果,是因为在streaming模式下执行的作业可能会产生增量更新(比如数据库中的upserts),而批处理作业最终只会产生一个最终结果,但最终结果是相同的,不过两者的实现方式可能不同。

在batch模式下,因为输入是有限的,可能就会有一些额外的优化,比如可以使用不同的join/aggregation策略,以及不同的shuffle实现,以实现更高效的任务调度和故障恢复行为。

1. batch和streaming之间的选择

最简单的判定规则:有界作业使用batch,无界作业使用str


http://www.ppmy.cn/server/152638.html

相关文章

The option ‘android.enableAapt2‘ is deprecated and should not be used anymore.

The option android.enableAapt2 is deprecated and should not be used anymore. Use android.enableAapt2true to remove this warning. It will be removed at the end of 2018.. android.enableAapt2已经被弃用了,不能被使用了,但是遍寻项目都找不到有使用过en…

构建高性能异步任务引擎:FastAPI + Celery + Redis

在现代应用开发中,异步任务处理是一个常见的需求。无论是数据处理、图像生成,还是复杂的计算任务,异步执行都能显著提升系统的响应速度和吞吐量。今天,我们将通过一个实际项目,探索如何使用 FastAPI、Celery 和 Redis …

go语言学习之错误记录-1、GOPROXY

go语言下载包时报错,更改代码仓库下载地址 go: golang.org/x/netv0.0.0-20210929193557-e81a3d93ecf6: Get “https://proxy.golang.org/golang.org/x/net/v/v0.0.0-20210929193557-e81a3d93ecf6.mod”: dial tcp 142.250.217.113:443: connectex: A connection at…

STM32中ADC模数转换器

一、ADC简介 ADC模拟-数字转换器 ADC可以将引脚连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁 12位逐次逼近型ADC,1us转换时间 输入电压范围: 0~3.3V,转换结果范围:0~4095 18个输入…

【大数据】Flink + Kafka 实现通用流式数据处理详解

目录 一、前言 二、流式数据处理场景介绍 2.1 流式数据处理概述 2.1.1 流式数据处理场景介绍 2.2 流式数据处理技术栈 2.2.1 数据采集 2.2.2 数据处理 2.2.3 数据存储 2.2.4 数据展示 2.3 流式数据处理场景面临的问题和挑战 三、通用的流式数据处理场景解决方案 3.1…

【报错】node:internal/modules/cjs/loader:936

报错问题: 当执行npm run dev后,出现下面错误 这个错误一般是由于Node.js无法找到所需的模块而引起的,解决此问题的一种方法就是重新安装所需的模块。 解决办法: 删除npm install 所下载在项目里的node_modules文件执行操作&…

Android Studio版本升级那些事

Android Studio版本升级那些事 文章目录 Android Studio版本升级那些事一、前言二、Android Studio版本相关知识1、Android13 签名应用无法在Android Studio 编译运行解决(1)无法编译运行前的尝试 2、Android Studio 的历史版本介绍4、Android Studio Gr…

二百八十、ClickHouse——用Kettle对DWD层补全的清洗数据进行记录

一、目的 在对DWD层清洗数据进行补全后,需要生成相应的补全记录,作为数据的标记 二、实施步骤 2.1 建表 create table if not exists hurys_jw.dwd_data_correction_record(data_type Int32 comment 数据类型 1:转向比,2:统计,3:评价,4…