tencent cloud

流计算 Oceanus

动态与公告
产品动态
产品简介
产品概述
产品优势
应用场景
购买指南
计费概述
计费模式
退费说明
调整配置费用说明
快速入门
从零开始上手
创建独享集群
创建 SQL 作业
创建 JAR 作业
创建 ETL 作业
创建 Python 作业
操作指南
作业管理
作业开发
作业监控
作业日志
事件与诊断
元数据管理
快照管理
作业调优
依赖管理
集群管理
权限管理
SQL 开发指南
开发指南概述
术语和数据类型
DDL 数据定义语句
DML 数据操作语句
MySQL CDC 多 Source 复用
上下游开发指南
SET 控制语句
运算符和内置函数
标识符与保留字
Python 开发指南
ETL 开发指南
概述
ETL 作业术语表
上下游开发指南
常见问题
联系我们

Flink 配置项

PDF
聚焦模式
字号
最后更新时间: 2023-11-08 14:23:21

简介

SET 语句可以调整作业的关键运行参数。目前大多数参数都可以通过 作业高级参数 功能来配置,只有极少数参数需要使用 SET 语句。
注意
SET 命令属于高级用法,请谨慎使用,避免参数配置不当而引起的运行时异常。
SET 命令不支持注释,请不要在其后增加 -- 注释信息。
SET 语句行尾需加上分号。

语法

SET 语句中字符串类型的参数值必须用半角单引号括起来,布尔值和数值型的可以不加单引号。
SET 配置项 = '参数值';

示例

配置 SQL 作业状态保留时间

针对 GROUP BY 和 JOIN 等大状态的语句,Flink 提供了 Idle State Retention Time 机制,用户可以通过设置状态的最短保留时间和最长保留时间,避免状态的无限制增长造成作业崩溃(OOM)。例如,下面的语句指定了状态的最短保留时间是5小时,最长保留时间是6小时,Flink 会在这两个时间点之间自行选择状态的清理时机。
注意
状态的最短保留时间和最长保留时间之间的差值必须大于5分钟,否则 Flink 会报错并忽略该设置。
时间单位的写法遵循 Flink 配置的规范,例如可以写10min、也可以写3h、3hour、7day、7d等。数值和单位之间的空格为可选项。
SET execution.min-idle-state-retention = '5 h';
SET execution.max-idle-state-retention = '6 h';

配置 SQL 作业快照超时时间

对于 SQL 作业,默认情况下,快照超时时间最短为10分钟,最长为2倍的快照周期。例如,对于快照周期为60分钟的作业,其快照超时时间是10分钟;而对于快照周期为10分钟的作业,其快照超时时间是20分钟。 对于 SQL 作业,默认情况下,快照超时时间最短为10分钟,最长为2倍的快照周期。例如,对于快照周期为60秒的作业,其快照超时时间是10分钟;而对于快照周期为10分钟的作业,其快照超时时间是20分钟。
如果您需要自定义快照的超时时间,可以使用如下的 SET 语句。
SET CHECKPOINT_TIMEOUT = '300 s';
注意
Flink 配置项(高级参数)execution.checkpointing.timeout 对 SQL 作业可能不生效,请使用本文中的 SET 语句设置 SQL 作业的快照超时时间。

启用 Table 的 Mini-Batch 支持

Flink SQL 对聚合提供了 Mini-Batch 支持,可以显著提升吞吐量。默认没有开启,因为会增加处理时延。如果希望使用 Mini-Batch,需要在 SQL 作业的编辑页面中添加以下语句,通过的下面的设置项启用此功能(批次大小和延迟参数可以自行设置,但不可省略):
set table.exec.mini-batch.enabled = true;
set table.exec.mini-batch.size = 5000;
set table.exec.mini-batch.allow-latency = '200 ms';


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈