任务参数
什么是任务参数
在日常数据开发中,我们经常遇到这样的场景:
- 每天处理前一天的数据:
WHERE dt = '2023-09-21' - 每月统计上月数据:
WHERE month = '2023-08' - 查询特定城市数据:
WHERE city = 'Shanghai'
如果把日期、城市等信息写死在代码中,任务运行时就无法动态适应变化。任务参数就是为了解决这个问题而设计的——在代码中用
${参数名} 占位,运行时自动替换为实际值。
核心价值:动态替换、灵活配置、一次定义多处使用、修改参数无需改动代码逻辑。
基本概念
| 分类 | 概念 | 含义 | 示例 |
|---|---|---|---|
| 参数定义 | 自定义参数 | 在代码中用 引用 | |
| 参数赋值 | 常量 | 固定不变的字符串或数字 | 、 |
| 参数赋值 | 系统内置参数 | 系统预置的动态值,如计划时间 | |
| 参数赋值 | 时间表达式 | 基于计划时间的格式化和偏移计算 | |
| 参数赋值 | 内置时间函数 | 处理月初、周一等复杂时间计算 | |
快速开始
第1步:在代码中使用参数
第2步:配置参数取值
点击"参数"按钮,系统自动识别出
city 和 yesterday 两个参数,为它们赋值:
=cityShanghai
=yesterday$[yyyy-MM-dd, -1d]
第3步:运行验证
点击"运行",系统将参数替换后执行(假设今天是 2023-09-22):
关键要点:
- 参数格式固定为
,参数名只能包含字母、数字、下划线${参数名} - 不能在代码中直接引用内置参数(如
),必须先赋值给自定义参数再引用sys_biz_day - SQL 中需要引号时自行添加:
'${city}'
参数类型与作用域
任务参数
作用范围仅限当前任务,适合单个任务独有的配置。
创建方式:在脚本中输入
${参数名} 后系统自动识别,或点击「参数」按钮手动新建。

| 配置项 | 说明 | 示例 |
|---|---|---|
| 参数名称 | 参数的唯一标识 | 、 |
| 取值来源 | 选择"任务"或"任务组" | 任务 |
| 参数取值 | 参数的实际值或表达式 | 、 |
| 加密取值 | 勾选后取值以密文显示 | 用于密码等敏感信息 |
| 是否忽略 | 勾选后不进行参数替换 | 将 作为普通文本 |
任务组参数
作用范围为任务组内所有任务,适合多任务共享的配置(如数据库名称、环境标识)。
在任务组页面点击「参数」→「新建」创建。在具体任务中使用时,需在取值来源中显式切换为"任务组"。

参数在不同运行方式下的效果
临时运行(点击"运行"按钮)
弹窗提示输入参数值,本次运行生效,不影响已保存的参数配置。适合调试和验证。

周期调度运行
使用已保存的参数配置,根据调度计划时间动态计算参数值。适合生产环境。
附:如何确认是否支持完整参数功能
在 SQL 任务中运行以下验证:
参数配置:
lastDay = add_days('yyyy-MM-dd', -1)
如果返回昨天的日期(如
2023-11-11),说明账号在灰度范围内,支持完整参数功能。如果 ${lastDay} 未被替换,说明暂不支持。
相关文档
| 文档 | 说明 |
|---|---|
| 任务参数语法参考 | 系统内置参数、时间表达式、内置时间函数完整语法和速查表 |
| 任务参数场景示例 | 日报、月报、周报、时间戳查询等完整业务场景示例和 FAQ |
| 任务开发与调度 | Studio SQL 任务的创建、调度和运维 |
| 工作流(组合任务) | 将多个参数化任务编排为 DAG,统一调度 |
| Python 任务 | 在 Python 任务中使用参数 |
联系我们
