脚本及作业中引用参数使用介绍
该章节介绍如何在脚本及作业中引用参数,以及引用后的生效范围、是否支持EL表达式和简易变量集等,让您更加清晰地了解工作空间级和脚本、作业级配置参数的使用方法。
工作空间环境变量参数、作业参数、脚本参数均可以配置参数,但作用范围不同;另外如果工作空间环境变量参数、作业参数、脚本参数同名冲突,调用的优先级顺序为:作业参数 > 工作空间环境变量参数 > 脚本参数。
类别 |
场景 |
生效范围 |
调用方法 |
---|---|---|---|
环境变量/环境常量 |
配置作业参数时,当某参数隶属于多个作业时,可将此参数提取出来作为环境变量。 |
当前工作空间 |
${环境变量} ${环境常量} 配置方法请参考:环境变量 |
作业变量/作业常量 |
作业参数为作业级的参数,可用于作业中的任意节点。 |
当前作业 |
${作业变量} ${作业常量} 配置方法请参考:配置作业参数 |
脚本参数 |
配置自定义字段的参数名称和参数值。 |
当前脚本 |
${脚本参数} 配置方法请参考:脚本参数 |
SQL脚本的变量格式有${}和${dlf.}两种,支持用户根据实际情况进行配置。配置的变量格式会作用于SQL脚本、作业中SQL语句、单节点作业,环境变量。配置脚本变量格式的操作请参见脚本变量定义。
系统默认脚本变量格式为${}。
环境变量
- 变量是指不同的空间下取值不同,需要重新配置值,比如“工作空间名称”变量,这个值在不同的空间下配置不一样,导出导入后需要重新进行配置。
- 常量是指在不同的空间下都是一样的,导入的时候,不需要重新配置值。
具体应用如下:
在环境变量中已新增一个变量,“参数名”为sdqw,“参数值”为wqewqewqe。
- 打开一个已创建好的作业,从左侧节点库中拖拽一个“Create OBS”节点。
- 在节点属性页签中配置属性。
图2 Create OBS
- 单击“保存”后,选择“前往监控”页面监控作业的运行情况。
配置作业参数
- 变量是指不同的作业下取值不同,需要重新配置值。
- 常量是指在不同的作业下都是一样的,不需要重新配置值。
图3 作业参数
作业参数定义好之后,可以在作业节点里面引用该参数。
图4 引用作业参数
脚本参数
- 脚本参数支持如下使用方式,脚本参数的作用范围为当前脚本。
- 开发一个脚本。开发脚本时,脚本表达式里面必须包含变量(例如,SQL中变量是DATE,脚本中就写${DATE})。在作业参数配置里面,您可以在2中编写脚本参数DATE的语句表达式。
在“脚本开发”界面,在编辑器中输入开发语句,如下图所示。
INSERT INTO B FROM (SELECT * FROM A WHERE DATE = ${DATE})
图6 开发脚本
脚本dws_030903编写完成后,保存并提交此脚本的最新版本。
- 开发一个批处理作业。开发作业时,您需要配置节点属性参数。
图7 作业调度时的脚本参数
- 如果作业所关联的SQL脚本如果使用了参数,此处显示脚本参数名称(例如DATA),请在参数名称后的输入框配置参数值。参数值支持使用EL表达式。
- 若关联的SQL脚本,脚本参数发生变化,可单击刷新按钮同步,也可以单击进行编辑。
- 涉及脚本的节点均可以采用此方式引用脚本变量,如SQL脚本、Shell脚本和Python脚本。
简易变量集
简易变量集提供了一系列自定义的变量,自定义参数会根据任务调度的业务日期、计划时间及参数的取值格式自动替换为具体的值,实现在任务调度时间内参数的动态替换。简易变量集的详细内容请参见简易变量集参考。