0 / 0
Go back to the English version of the documentation
为 Orchestration Pipeline 配置全局对象
Last updated: 2024年9月23日
为 Orchestration Pipeline 配置全局对象

使用全局对象来创建可配置常量,以在运行时配置管道。 使用管道中的参数或用户变量在运行时指定值,而不是对值进行硬编码。 与管道参数不同,可以在流期间动态设置用户变量。

了解有关创建以下内容的信息:

管道参数

使用管道参数在管道运行时指定值。 例如,如果您希望用户输入用于管道输出的部署空间,请使用参数提示输入管道运行时要使用的空间名称。 每次运行作业时指定参数值可帮助您使用正确的资源。

关于管道参数:

  • 可指定为节点值或为管道作业指定节点值。
  • 可以分配给任何节点,并且状态指示符会向您发出警报。
  • 可用于多个节点。

定义管道参数

  1. 从工具栏中的节点配置面板创建管道参数。
  2. 输入名称和可选描述。 名称必须是小写字母,数字和下划线的小写 大小写。 例如, lower_snake_case_with_numbers_123 是有效名称。 名称必须以字母开头。 如果名称不符合要求,那么在尝试运行管道时将发生 404 错误。
  3. 分配参数类型。 根据参数类型,可能需要提供更多详细信息或分配缺省值。
  4. 单击添加到列表以保存管道参数。
注:


-您可以定义单个参数,也可以创建 参数集。 您单独定义的参数也可以添加到集合中。
-可以通过在管道中生成不受支持的结果的方式使用管道参数。 如果分配具有通用资产作为其值的参数,那么可以选择资产作为 复制资产 节点不支持的参数值。

参数类型

参数类型分类为:

  • 基本:包括用于构造管道输入的数据类型或者用于处理重复空间或资产创建的选项。
  • 资源: 用于选择项目,目录,空间或资产。
  • 实例: 用于选择机器学习实例或 Cloud Object Storage 实例。
  • 其他: 用于指定详细信息,例如创建方式或错误策略。

使用管道类型的示例

要创建类型为 Path的参数:

  1. 创建名为 MASTER_PARAMETER_SET的参数集。
  2. 创建名为 file_path 的参数,并将类型设置为 Path
  3. file_path 的值设置为 mnts/workspace/masterdir。 可以通过多种方法来设置值:
    • 选择资源: 使用 UI 浏览作用域中的文件。
    • 输入值: 文件相对路径的有效文本,例如 /mnts/sender.txt
  4. 将节点 等待文件 拖到画布上,并将 文件位置 值设置为 MASTER_PARAMETER_SET.file_path
  5. 等待文件运行 Bash 脚本 节点连接,以便后一个节点在前一个节点之后运行。
  6. 可选: 测试参数变量:
    1. 将环境变量参数添加到 MASTER_PARAMETER_SET 参数集,例如 FILE_PATH
    2. 将以下命令粘贴到 运行 Bash 脚本脚本代码 中:
      echo File: $FILE_PATH
      cat $FILE_PATH
      
  7. 运行该管道。 路径 mnts/workspace/masterdir 位于两个节点的执行日志中,以查看它们是否成功传递。

使用管道参数配置节点

使用管道参数配置节点时,可以选择现有管道参数,或者在配置节点的过程中创建新管道参数。

例如:

  1. 创建名为 creationmode 的管道参数并将其保存到参数列表。
  2. 配置创建部署空间节点,然后单击以打开配置面板。
  3. 选择 管道参数 作为 创建方式 选项的输入。
  4. 选择 creationmode 管道参数并保存配置。

运行流程时,在创建空间后将分配管道参数。

参数集

参数集是要在管道中使用的一组相关参数。 例如,您可以创建一组要在测试环境中使用的参数,而创建另一组要在生产环境中使用的参数。

可以将参数集创建为项目资产。 然后,在该项目中创建的参数集可以在该项目中的管道中使用。

创建参数集作为项目资产

您可以创建参数集作为要在管道中使用的可复用项目资产。

  1. 打开现有项目或创建项目。
  2. 点击新资产>定义可重复使用的参数集
  3. 指定集合的名称,并指定集合中每个参数的详细信息,包括:
    • 参数的名称
    • 数据类型
    • 提示
    • 缺省值
  4. (可选) 为参数集中的参数创建值集。 值集可以是不同上下文的不同值。 例如,您可以使用测试环境的值和生产值的生产集来创建测试值集。
  5. 在创建所有参数 s 后保存参数集。 它可供在该项目中创建的管道中使用。

添加要在管道中使用的参数集

要从项目添加参数集,请执行以下操作:

  1. 单击全局对象图标,然后切换到 "参数集" 选项卡
  2. 单击 添加参数集 以添加要在管道中使用的项目中的参数集。
  3. 您可以在列表中添加或除去参数集。 当您将参数指定为管道中的输入时,您指定在管道中使用的参数集将变为可用。

从管道中的参数列表创建参数集

您可以从管道的参数列表中创建参数集

  1. 单击 "全局对象" 图标并打开 "管道参数"。
  2. 选择要在集合中使用的参数,然后单击 另存为参数集 图标。
  3. 输入集合的名称和可选描述。
  4. 保存以添加要在管道中使用的参数集。

使用管道中的参数集

要使用参数集:

  1. 从节点属性表中选择 分配管道参数 作为输入类型。
  2. 选择要分配的参数。 列表将显示该输入的类型的所有可用参数。 可用参数可以是单个参数,也可以是定义为集合一部分的参数。 参数集名称在参数名称之前。 例如, Parameter_set_name.Parameter_name
  3. 运行管道并为相应的值 (如果可用) 选择值集,为参数指定值或接受缺省值。
注: 您可以使用 ` param_sets 格式在表达式构建器中使用参数集。`。如果参数集值包含环境变量,则必须在表达式生成器中使用此语法:`param_sets.MyParamSet["$ICU_DATA" ]`。

使用项目默认参数集

一个项目可以有一个名为 PROJDEF 的参数集。 该参数集包含一组全局属性,可从 DataStage flow 或 Pipelines flow 引用。 因为这是一个参数集,所以可以使用现有的参数集用户界面来管理这些变量。

注意 PROJDEFs:

  • 您可以用管道参数的 PROJDEF 值引用 PROJDEF 参数集值。
  • 除加密参数外,所有类型的参数都支持 PROJDEF 值。
  • PROJDEF 参数集的参数必须与具有 PROJDEF 值的管道参数使用相同的名称。

在项目中使用 PROJDEF:

  1. 创建参数集 PROJDEF。
  2. 在 PROJDEF 参数集中添加任何参数,例如 SOME_DATE
  3. 单击工具栏中的 全局对象
  4. 单击 添加 PROJDEF 参数
  5. 从列表中选择参数。
注意: 如果删除参数,请确保从作业设计中除去对参数的引用。 如果未除去引用,那么您的作业可能会失败。

编辑作业中的参数集

如果在定义作业时使用参数集,那么可以选择值集以使用该集合中的值填充变量。 如果更改并保存值,然后编辑作业并保存更改,那么参数集值将重置为缺省值。

用户变量

创建用户变量以在流运行时指定值。 与管道参数不同,用户变量可以在处理期间进行修改。

定义用户变量

您可以创建用户变量以在管道中使用。 用户变量 (如参数) 是在全局级别定义的,并非特定于任何节点。 用户变量的初始值必须在您定义时设置,并且不能作为任何节点输出的结果动态设置。 定义用户变量时,可以使用 设置用户变量 节点以使用节点输出对其进行更新。

要创建用户变量:

  1. 更新变量 节点配置面板或工具栏创建变量。
  2. 输入名称和可选描述。 名称必须是小写字母,数字和下划线的小写 大小写。 例如,lower_snake_case_with_numbers_123 是一个有效名称。 名称必须以字母开头。 如果名称不符合要求,那么在尝试运行管道时将发生 404 错误。
  3. 完成变量的定义,包括选择变量类型和输入类型。
  4. 单击添加以将变量添加到列表。 它现在可以在节点中使用。

设置时区

您可以在配置地图中设置时区。

  1. 运行命令 kubectl edit -n <namespace> configmap watson-pipelines-config 打开配置地图,其中 namespace 是 Cloud Pak for Data 实例命名空间。
  2. 使用以下代码示例设置时区值:
    apiVersion: v1
    kind: ConfigMap
    metadata:
       name: watson-pipelines-config
       namespace: zen
    data:
       default_container_env: |
          - name: TZ
            value: America/New_York
    
  3. 在 Pipelines CR 中设置时区值:
    oc patch wspipelines wspipelines-cr -p '{"spec":{"timezone":"America/New_York"}}' --type=merge
    
  4. 等待和解完成:
    oc get wspipelines wspipelines-cr
    

父主题: 创建管道

Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more