1. RESET 语句是干什么的?
官方定义很直白:
RESET语句用于将配置重置为默认值(default)。
它主要用于 SQL CLI 会话级配置 的回滚。
2. 在 SQL CLI 中怎么用?(两种姿势)
2.1 重置某个指定 key:RESET 'key'
示例(重置某个会话参数):
sql
Flink SQL> RESET 'table.planner';
[INFO] Session property has been reset.
含义:把当前会话里的 table.planner 这个配置项恢复成默认值。
适用场景:
- 你只想撤销某一次参数实验
- 你怀疑某个参数导致行为异常,想单点回滚验证
2.2 全量重置:RESET;
sql
Flink SQL> RESET;
[INFO] All session properties have been set to their default values.
含义:把当前会话所有被修改过的属性全部恢复成默认值。
适用场景:
- 会话改得太乱,想"一键清场"
- 要跑一段可复现的基准测试,先把环境恢复干净
- 接手别人留下的 SQL CLI 会话,想消除遗留配置影响
3. 语法(官方语法 + 解释)
官方语法:
sql
RESET ('key')?
解释:
- 如果 不指定 key:重置所有 properties 为默认值
- 如果 指定 key:只重置该 key 为默认值
4. 和 SET 配合的最佳实践(强烈推荐)
把 SET / RESET 当成一对"试验---回滚"组合拳:
4.1 做参数实验的推荐流程
1)先查看当前会话配置(可选但很实用)
sql
SET;
2)修改参数
sql
SET 'some.key' = 'some.value';
3)验证 SQL 行为或性能
4)实验结束,回滚(两种方式二选一)
-
回滚单个参数:
sqlRESET 'some.key'; -
全量回到默认:
sqlRESET;
4.2 写"可复现脚本"的小技巧
如果你要把 SQL 发给别人跑,建议把关键参数都写成显式 SET,并在脚本末尾加一句:
sql
RESET;
这样别人即使复用同一个 CLI 会话,也不容易被你脚本留下的会话配置"污染"。
5. 总结
-
RESET用于把配置恢复到默认值(default) -
在 SQL CLI 中执行
-
两种常用用法:
RESET 'key';:只重置指定配置项RESET;:重置所有会话配置项为默认值
-
最佳搭配:
SET做试验,RESET做回滚,保证会话干净、结果可复现