SESSION_CONFIGS

简介

SESSION_CONFIGS
SESSION_CONFIGS
函数返回当前会话所有系统参数的 map,键和值均为字符串类型。主要用于动态表参数化定义中读取业务参数(如
SESSION_CONFIGS()['dt.args.bizdate']
SESSION_CONFIGS()['dt.args.bizdate']
),也可用于排查当前会话的系统配置。

语法

SESSION_CONFIGS()

返回结果

返回

MAP<STRING, STRING>
MAP<STRING, STRING>
类型,包含当前会话的所有系统参数。可通过下标运算符
['key']
['key']
读取指定参数的值;若 key 不存在则返回
NULL
NULL

使用示例

  1. 查看当前会话的所有系统参数:

SELECT SESSION_CONFIGS();

返回结果为一个 map,例如:

{"cz.sql.adhoc.default.format":"ARROW","cz.sql.local.udf.enabled":"false",...}

  1. 在动态表参数化定义中读取业务日期参数:

SELECT SESSION_CONFIGS()['dt.args.bizdate'];

该写法是动态表参数化的核心用法,详见 动态表参数化

注意事项

  • SESSION_CONFIGS()
    SESSION_CONFIGS()
    每次调用返回的内容取决于当前会话,不同会话、不同执行时刻的结果可能不同,示例中不写死具体值。
  • 读取不存在的 key 时返回
    NULL
    NULL
    ,不会报错。
  • 动态表刷新时,通过
    ALTER DYNAMIC TABLE ... SET DT_ARGS(...)
    ALTER DYNAMIC TABLE ... SET DT_ARGS(...)
    注入的参数会作为
    dt.args.*
    dt.args.*
    前缀的 key 出现在
    SESSION_CONFIGS()
    SESSION_CONFIGS()
    中,供 SQL 定义引用。
联系我们
预约咨询
微信咨询
电话咨询
邮件咨询