文档首页/ 数据治理中心 DataArts Studio/ 常见问题/ 数据开发/ 环境变量、作业参数、脚本参数有什么区别和联系?
更新时间:2024-08-30 GMT+08:00

环境变量、作业参数、脚本参数有什么区别和联系?

问题描述

环境变量、作业参数、脚本参数之间的区别与联系,需要具体举例说明下,便于用户理解。

解决方案

工作空间环境变量参数、作业参数、脚本参数均可以配置参数,但作用范围不同;另外如果工作空间环境变量参数、作业参数、脚本参数同名冲突,调用的优先级顺序为:作业参数 > 工作空间环境变量参数 > 脚本参数

环境变量、作业参数、脚本参数的介绍和使用方式如下:
  • 环境变量中支持定义变量和常量,环境变量的作用范围为当前工作空间。
    • 变量是指不同的空间下取值不同,需要重新配置值,比如“工作空间名称”变量,这个值在不同的空间下配置不一样,导出导入后需要重新进行配置。
    • 常量是指在不同的空间下都是一样的,导入的时候,不需要重新配置值。
    图1 环境变量

  • 作业参数中支持定义参数和常量,作业参数的作用范围为当前作业。
    • 参数是指不同的作业下取值不同,需要重新配置值,导出导入后需要重新进行配置。
    • 常量是指在不同的作业下都是一样的,导入的时候,不需要重新配置值。
    图2 作业参数
  • 脚本参数支持如下使用方式,脚本参数的作用范围为当前脚本。
    • SQL脚本支持在脚本编辑器中直接输入参数(Flink SQL不支持),脚本独立执行时可通过编辑器下方配置,如图3所示;通过作业调度时可通过节点属性赋值,如图4所示。
    • Shell脚本可以配置参数和交互式参数以实现参数传递功能。
    • Python脚本可以配置参数和交互式参数以实现支持参数传递功能。
    图3 独立执行时的脚本参数
    图4 作业调度时的脚本参数