更新时间:2026-06-29 GMT+08:00
分享

FlinkServer变量管理

操作场景

在Flink SQL作业中,建表语句的WITH子句通常包含数据库连接地址、用户名、密码等敏感信息或频繁变更的配置项。如果将这些值直接硬编码在SQL中,不仅存在敏感信息泄露风险,而且当配置变更时需要逐个修改所有SQL作业,维护成本高。FlinkServer支持变量管理功能,可以将这些常量定义为变量,在SQL中通过变量名引用,实现配置与逻辑解耦,同时支持密文类型保护敏感信息。

约束与限制

  • 变量只能在SQL作业中使用,且只能在建表语句的WITH属性中使用。
  • 变量仅在当前应用生效,不支持跨应用使用。
  • 私有变量仅创建者可以查看、编辑、使用和删除。
  • 密文变量无法查看原值。
  • 本章节适用于MRS 3.6.0-LTS.1及以后版本。

创建变量

  1. 访问Flink WebUI,请参考访问FlinkServer WebUI界面
  2. 选择“系统管理 > 变量管理”,进入变量管理页面。
  3. 单击“新增变量”,参考表1 新增变量信息填写变量信息,配置完成后,单击“确定”。

    表1 新增变量信息

    参数名称

    参数描述

    变量

    变量的名称和变量值变量名称在SQL中通过${变量名}方式引用

    名称只能包含数字、字母、下划线,输入长度不能超过32个字符。

    类型

    密文或者明文。

    • 密文无法查看,显示为******,适用于密码等敏感信息。
    • 明文变量值可直接查看,适用于非敏感配置项。

    使用范围

    设置变量的可见范围,私有或者公开。

    • 公开变量其他有权限的用户可以查看编辑使用删除。
    • 私有变量只有创建用户可以查看编辑使用删除。

    变量的“类型”为“密文”时,建议将密文的使用范围设置为“私有”。

    描述

    变量的描述信息。

    变量创建完成后,在变量管理列表中查看新创建的变量,确认变量名称、类型和使用范围显示正确。密文变量的值应显示为星号。

  4. 变量创建完成后,可以在SQL作业中建表的WITH属性中使用已创建的变量,示例如下:

    CREATE TABLE MyUserTable(
      c_customer_sk INTEGER,
      c_customer_name VARCHAR(32)
    ) WITH(
      'connector' = 'jdbc',
      'url' = '${url}',
      'table-name' = 'customer_t1',
      'username' = '${user}',
      'password' = '${password}'
    );

    “url”、“user”和“password”是3创建的变量的变量名。

相关文档