You need to enable JavaScript to run this app.
导航
参数信息设置
最近更新时间:2024.09.04 11:44:24首次发布时间:2022.09.26 20:53:58

通过在开发、生产环境,定义同一项目参数的不同内容值,可轻松实现开发、生产环境不同参数值的替换。

1 约束限制

  1. 仅项目管理员可以配置项目参数信息。
  2. 目前参数加密能力仅限 Shell、Python、EMR Serverless Spark SQL/Java/Python 几种任务类型生效,后续将陆续支持其余类型。

2 操作步骤

  1. 登录 DataLeap 控制台
  2. 单击左侧导航栏的项目管理,进入项目管理页面。
  3. 勾选我管理的选项,显示由您管理的项目列表。
  4. 单击项目列表中要管理项目操作列的任一按钮,进入项目控制台
  5. 单击左侧导航栏的参数信息,进入参数信息页面。
    图片
  6. 按需配置项目级参数。
    • 新建参数
      单击新建参数按钮,设置参数信息后,单击确定按钮,完成创建。
      相关参数说明如下表所示。其中名称前带 * 的参数为必填参数,名称前未带 * 的参数为可选参数。

      参数

      说明

      *参数名称

      任务中使用的参数名称。
      自行设置,仅可由英文、数字或下划线组成。

      *开发环境参数值

      设置任务调试时参数变量实际传入的值。
      您可选择是否加密该参数值。若勾选是否加密,则参数创建成功后,该项目下非项目管理员角色查看时,该参数值显示为****,且在数据开发调试运行设置时,也会以加密方式透出。

      是否加密

      您可按需选择开发环境参数值是否不可被项目管理员之外的成员可见

      *生产环境参数值

      设置任务上线后参数变量传入的值。
      您也可选择是否加密该参数值。若勾选是否加密,则参数创建成功后,该项目下非项目管理员角色查看时,该参数值显示为****。

      说明

      若任务调试时和上线后,参数变量的值一致,可填写与开发环境相同的参数值。

      是否加密

      描述

      参数的描述信息,以便后续管理。

    • 编辑参数

      1. 单击列表中某个参数信息操作列的编辑按钮,在弹出的更新参数内容窗口中,修改参数信息。
      2. 单击确定按钮,在弹出的变更影响窗口中,可查看所有引用该参数的离线和实时任务列表。
      3. 单击确定按钮,完成修改。

      说明

      • 仅当参数存在关联任务且修改其生产环境参数值时,才会弹出变更影响窗口进行确认。
      • 实时任务会自动进行上线前的检查,并可单击任务左侧的折叠按钮查看具体检查项的通过情况。
        • 若检查全部通过,可直接确认修改。
        • 若存在检查未通过项,则勾选“当前存在未通过检查项,我已知晓风险”后,仍可确认修改。
      • 参数更新后,引用该参数的任务将受到影响,其中离线任务即时生效,实时任务需重启后生效。
    • 删除参数
      单击列表中某个参数信息操作列的删除按钮,在弹出的确认对话框中,单击按钮,即可删除该参数信息。

    • 查看关联任务
      单击列表中某个参数信息关联任务列的流任务批任务按钮,可以跳转到相应的任务运维页面,查看该参数关联的实时或离线任务。

3 使用案例

用户希望同一套代码能实现在不同执行环境下,自动区分不同的引擎环境参数和时间变量参数。下面以湖仓一体分析服务(LAS)引擎为例,讲解如何利用项目参数,来区分不同环境库和时间格式的查询。

3.1 准备案例数据

  1. 创建开发测试、生产两个环境的 LAS 库。创建 LAS 库的操作说明请参见管理 LAS 库
    • 测试环境库:test_dev
    • 生产环境库:test_prod
  2. 在对应库下,分别创建一个数据表 test_table_1017。创建 LAS 表的操作说明请参见管理 LAS 表
    • 非分区字段:包含 3 个字段,名称自行设定。
    • 分区字段:名称设置为 datetimes
  3. 打开或创建一个 LAS SQL 任务,运行如下代码示例,向两个数据表中各插入一条数据。配置任务的操作说明请参见 LAS SQL
    insert into test_dev.test_table_1017 partition(datetimes = '20221017') values('1', 'libai', 'shanghai');
    
    insert into test_prod.test_table_1017 partition(datetimes = '2022-10-17') values('1', 'libai', 'shanghai');
    

3.2 配置参数

请在同一个项目下执行以下参数配置操作。

  1. 新建参数
    参数信息页面,新建两个参数。

    • 参数名称分别为 argtest1pro_env
    • 开发环境参数值分别为 ${date}test_dev
    • 生产环境参数值分别为 ${DATE}test_prod
      图片
  2. 使用参数

    1. 选择数据开发 > 任务开发, 创建一个 LAS SQL 任务,名称为项目输入参数
    2. 调度设置页面,设置好必填参数后,手动添加两个输入参数。
      • 参数名称分别为 argenv
      • 类型分别选择项目
      • 来源分别选择 argtest1pro_env
        图片
        欲了解更多任务配置和输入输出参数的相关说明,请参见 LAS SQL输入输出参数设置
  3. 编辑代码

    --定义该任务的输入、输出参数,实现上、下游任务之间的内容传递,可通过{{输入参数名}}的方式,在脚本中使用任务的输入参数。
    SELECT * from {{env}}.test_table_1017 WHERE datetimes='{{arg}}' ;
    
  4. 调试运行
    单击调试图标按钮,在弹出的窗口中,分别设置开发和生产环境的参数值后,单击提交测试按钮。

    • 开发环境:arg 设置为 ${date}env 设置为 test_dev
    • 生产环境:arg 设置为 ${DATE}env 设置为 test_prod
      图片
  5. 查看替换结果
    代码运行成功后,在日志页面,可以查看替换结果。

    • 开发环境下的解析执行语句为:

      SELECT * from  test_dev.test_table_1017  WHERE  datetimes='20230309';
      

      图片

    • 生产环境下的解析执行语句为:

      SELECT * from  test_prod.test_table_1017  WHERE  datetimes='2023-03-09';
      

      图片

    说明

    解析出的时间为获取业务时间日期。欲了解更多时间变量,请参见平台时间变量与常量说明或者页面右上角的参数说明