配置的任务

本节介绍任务的创建和配置。

关于任务

任务是简短的、功能性的代码块,您可以在作业中将它们拼接到流中,也可以自己提升到作业中。

任务是 Oracle AI Data Platform Workbench 中所有工作流的主要构建块。任务类型决定了它使用的代码类型。作为作业的一部分,您可以连接任务来确定作业运行时任务的顺序和优先级。

任务类型 说明
记事本任务 已保存到您可以访问的记事本的任务
Python 任务 使用 Python 编程语言片段的任务
If/else 条件 使用 if/else 条件的任务
嵌套作业任务 将现有作业及其任务用作嵌套任务的任务
Jar 任务 可运行编译为 Java 归档 (JAR) 文件的 Scala 或 Java 代码的任务。

当具有多个任务时,可以创建一组任务相关性,其中一个任务的成功或失败可以按顺序触发后续任务。您只能在具有多个任务的作业中创建相关项。请参阅创建记事本任务

任务可以彼此并行运行。您可以通过使两个或多个任务依赖于同一工作流中另一个任务的成功或失败来执行此操作,从而导致它们同时运行。

任务可能会因短暂问题(如网络中断、资源不可用或临时服务故障)而失败。在这些情况下,AI 数据平台工作台会根据您在创建任务时配置的重试策略自动重试任务。作为这些策略的一部分,您可以定义:

  • 重试次数:重试的最大尝试次数。
  • 重试间隔:重试之间的等待时间。

除了标准任务重试之外,AI Data Platform Workbench 还支持超时时重试。如果任务由于资源约束或处理缓慢而超出其执行时间限制,并且您希望仅针对这些情况重试,则可以选择自动触发重试。这些重试策略可增强工作流弹性,确保任务在无需人工干预的情况下有更高的成功执行概率。

何时以及如何使用计算日志

如果任务失败并出现与资源或系统相关的错误(例如内存不足错误或 CPU 使用超过限制),则应检查计算日志。

如果您看到较长的等待时间、意外的重试次数或作业性能瓶颈,请查看 Spark 日志。这些日志可深入了解支持任务的计算集群的驱动程序和 worker 节点,并有助于确定可能问题的根源。

有关如何查看日志的指导,请参见 Monitor a Specific Job Run

您必须具有适当的计算级别 RBAC 权限才能查看与该作业关联的计算实例的元数据和日志。如果您无法查看计算日志,请与管理员联系以获取这些权限。有关更多信息,请参阅关于权限

创建 Python 任务

您可以在使用 Python 脚本的工作流作业中创建一个任务。

  1. 在主页中,单击工作流
  2. 单击要为其执行任务的作业。
  3. 单击添加任务
  4. 输入任务名。
  5. 对于任务类型,请选择 Python
  6. 单击浏览并导航到要作为任务添加的 Python 脚本。单击选择
  7. 为 Python 任务选择计算集群(如果尚未附加计算集群)。
  8. 选择任务在失败时应尝试的重试次数。如果选择 0 以上,还必须指定作业在两次重试之间应等待多长时间,以及是否应在超时时尝试重试。

    重试次数为 1 或更大的任务重试选项

  9. 依赖于中选择要使此任务依赖的任何任务。从运行条件下拉列表中选择对该相关性的条件响应。
  10. 通过提供参数的关键字来添加其他参数。单击添加参数以提供多个参数。

创建记事本任务

您可以使用 AI Data Platform Workbench 中构建的记事本创建任务。

  1. 在主页中,单击工作流
  2. 单击要为其执行任务的作业。
  3. 单击添加任务
  4. 输入任务名。
  5. 对于任务类型,请选择记事本
  6. 单击浏览并导航到要作为任务添加的记事本。单击选择
  7. 为记事本任务选择计算集群(如果尚未附加计算集群)。
  8. 选择任务在失败时应尝试的重试次数。如果选择 0 以上,还必须指定作业在两次重试之间应等待多长时间,以及是否应在超时时尝试重试。

    重试次数为 1 或更大的任务重试选项

  9. 依赖于中选择要使此任务依赖的任何任务。从运行条件下拉列表中选择对该相关性的条件响应。
  10. 通过提供参数的关键字来添加其他参数。单击添加参数以提供多个参数。

创建嵌套作业任务

您可以将另一个工作流作业及其包含的任务用作另一个工作流中的嵌套任务。

  1. 在主页中,单击工作流
  2. 单击要为其执行任务的作业。
  3. 单击添加任务
  4. 输入任务名。
  5. 对于任务类型,选择嵌套任务
  6. 作业下拉列表中,选择要从中执行任务的现有作业。
  7. 选择任务在失败时应尝试的重试次数。如果选择 0 以上,还必须指定作业在两次重试之间应等待多长时间,以及是否应在超时时尝试重试。

    重试次数为 1 或更大的任务重试选项

  8. 依赖于中选择要使此任务依赖的任何任务。从运行条件下拉列表中选择对该相关性的条件响应。
  9. 通过提供参数的关键字来添加其他参数。单击添加参数以提供多个参数。

创建 If/Else 任务

您可以创建一个任务,该任务基于目录数据使用 if/else 条件来确定任务是否触发。

  1. 在主页中,单击工作流
  2. 单击要为其执行任务的作业。
  3. 单击添加任务
  4. 输入任务名。
  5. 对于任务类型,请选择如果/否则
  6. 输入确定任务是否触发的条件。单击 “添加”图标 添加以设置多个条件。
  7. 输入条件表达式。
  8. 选择任务在失败时应尝试的重试次数。如果选择 0 以上,还必须指定作业在两次重试之间应等待多长时间,以及是否应在超时时尝试重试。

    重试次数为 1 或更大的任务重试选项

  9. 依赖于中选择要使此任务依赖的任何任务。从运行条件下拉列表中选择对该相关性的条件响应。
  10. 通过提供参数的关键字来添加其他参数。单击添加参数以提供多个参数。

创建 Jar 任务

您可以创建运行编译为 Java 归档 (JAR) 文件的 Scala 或 Java 代码的任务。

注意:

相关库文件必须在创建时使用与 Oracle AI Data Platform Workbench 集群运行时兼容的 JDK、Scala 或 Spark 版本,以避免意外行为。
  1. 在主页中,单击工作流
  2. 单击要为其执行任务的作业。
  3. 单击添加任务
  4. 输入任务名。
  5. 对于任务类型,选择 JAR 任务
  6. 对于主类名,指定包含要执行的 main 方法的类的全名。例如, ProcessTransaction 。此类必须包括在作为从属库添加的文件之一中。
  7. 对于相关库,请单击添加
  8. 为从属库文件选择源。必须包括至少一个包含上面指定的 main 类方法的库。
    • 对于工作区,浏览 AI 数据平台工作台工作区或卷,选择要作为库添加的文件,然后单击添加
    • 对于将文件上载到工作区,浏览本地计算机以查找要作为库上载的文件,然后单击添加
  9. 命令行参数中,提供要传递给主类的以空格分隔的参数。
  10. 选择任务在失败时应尝试的重试次数。如果选择 0 以上,还必须指定作业在两次重试之间应等待多长时间,以及是否应在超时时尝试重试。

    重试次数为 1 或更大的任务重试选项

  11. 依赖于中选择要使此任务依赖的任何任务。从运行条件下拉列表中选择对该相关性的条件响应。
  12. 通过提供参数的关键字来添加其他参数。单击添加参数以提供多个参数。

修改一个任务

您可以更改任务的现有属性,例如名称、类型和参数,以更改任务在作业中的运行方式。

  1. 在主页中,单击工作流
  2. 单击要为其配置任务的作业。
  3. 任务选项卡中,单击要编辑的任务。
  4. 在右侧的任务详细信息窗格中,根据需要修改任务属性。更改会自动保存。

查看任务记录

您可以查看作业中各个任务的运行日志。

  1. 在主页中,单击工作流
  2. 单击作业运行
  3. 单击要查看其任务日志的作业。
  4. 单击任务节点可查看该任务的日志。

删除一个任务

可以通过从作业中删除任务节点来删除任务。

  1. 在主页中,单击工作流
  2. 单击要删除的任务的作业。
  3. 在任务节点上,单击操作,然后单击删除节点
  4. 单击删除