在 AWS Glue 中创建和运行工作流程 - AWS Glue
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 AWS Glue 中创建和运行工作流程

您可以使用 AWS Glue 控制台创建、可视化和运行工作流程。有关使用 AWS Glue API 管理工作流程的信息,请参阅 Workflows

使用 AWS Glue 控制台创建和构建工作流程

工作流程包含作业、爬网程序和触发器。在创建工作流程之前,请创建工作流程要包含的作业和爬网程序。最好是指定工作流程的按需运行爬网程序。可以在构建工作流程时创建新的触发器,也可以将现有触发器克隆 到工作流程中。在克隆触发器时,与触发器关联的所有目录对象—触发它的作业或爬网程序,以及它启动的作业或爬网程序—将添加到工作流程中。

您可以通过向工作流程图表添加触发器并为每个触发器定义监视的事件和操作来构建工作流程。首先,您可以启动触发器(它可以是按需触发器或计划触发器),并通过添加事件(条件)触发器来完成图表。

步骤 1: 创建工作流程

  1. 登录 AWS 管理控制台并通过以下网址打开 AWS Glue 控制台:https://console.amazonaws.cn/glue/

  2. 在导航窗格中,在 ETL 下,选择 Workflows (工作流程)

  3. 选择 Add workflow (添加工作流程)

  4. Add a new ETL workflow (添加新的 ETL 工作流程) 页面上,输入工作流程名称和可选描述。

  5. (可选)选择 Add property (添加属性) 并添加默认工作流程运行属性。

    默认运行属性可用作工作流程中所有作业的参数。有关更多信息,请参阅 获取并设置工作流程运行属性

  6. (可选)对于 Max concurrency (最大并发数),输入并发工作流程运行的最大数量以允许此工作流程。

    您可以使用此参数来防止不必要的多次数据更新,控制成本,在某些情况下防止超过任何组件作业的最大并发运行数。如果将此参数留空,则并发工作流程运行数没有限制。

  7. (可选)将标签添加到工作流程。每个标签必须有一个键。键值是可选的。

    有关更多信息,请参阅 AWS Glue 中的 AWS 标签

  8. 选择 Add workflow (添加工作流程)

    新的工作流程将显示在 Workflows (工作流程) 页面上的列表中。

步骤 2: 添加启动触发器

  1. Workflows (工作流程) 页面上,选择新工作流程。在底部的选项卡中,选择 Graph (图表)

  2. 选择 Add trigger (添加触发器),然后在 Add trigger (添加触发器) 对话框中,执行下列操作之一:

    • 选择 Add new (新增),完成 Add trigger (添加触发器) 表单,并为 Trigger Type (触发器类型) 选择 Schedule (计划)On demand (按需)。然后,选择添加

      触发器将与占位符节点(标记为 Add node (添加节点))一起显示在图表中。此时,尚未保存触发器。

      
                                    具有两个矩形节点的图表:一个触发器节点,一个占位符节点。箭头从触发器节点指向占位符节点。
    • 选择 Clone existing (克隆现有项),然后选择要克隆的触发器。然后,选择添加

      触发器与它监视的作业和爬网程序以及它启动的作业和爬网程序一起显示在图表中。

      如果您错误地选择了错误的触发器,请在图表上选择该触发器,然后选择 Remove (删除)

  3. 如果您已添加新触发器,请完成以下步骤:

    1. 执行下列操作之一:

      • 选择占位符节点(Add node (添加节点))。

      • 确保选择启动触发器,然后在图表上方的 Action (操作) 菜单上,选择 Add jobs/crawlers to trigger (将作业/爬网程序添加到触发器)

    2. Add jobs(s) and crawler(s) to trigger (将作业和爬网程序添加到触发器) 对话框中,选择一个或多个作业或爬网程序,然后选择 Add (添加)

      将保存触发器,并且选定作业或爬网程序会与触发器中的连接器一起显示在图表中。

      如果您错误地添加了错误的作业或爬网程序,则可以选择触发器或连接器,并选择 Remove (删除)

步骤 3: (可选)添加更多触发器

通过添加更多触发器来继续构建工作流程。要放大/缩小图表画布,请使用图表右侧的图标。对于要添加的每个触发器,请完成以下步骤:

  1. 执行下列操作之一:

    • 要克隆现有触发器,请确保未选择图表上的任何节点,然后在 Action (操作) 菜单上,选择 Add trigger (添加触发器)

    • 要添加监视图表上的特定作业或爬网程序的新触发器,请选择作业或爬网程序节点,然后选择 Add trigger (添加触发器) 占位符节点。

      您可以在稍后的步骤中添加更多作业或爬网程序以监视此触发器。

  2. Add trigger (添加触发器) 对话框中,执行下列操作之一:

    • 选择 Add new (添加新项),然后完成 Add trigger (添加触发器) 表。然后,选择添加

      触发器将显示在图表中。您将在后面的步骤中完成触发器。

    • 选择 Clone existing (克隆现有项),然后选择要克隆的触发器。然后,选择添加

      触发器与它监视的作业和爬网程序以及它启动的作业和爬网程序一起显示在图表中。

      如果您错误地选择了错误的触发器,请在图表上选择该触发器,然后选择 Remove (删除)

  3. 如果您已添加新触发器,请完成以下步骤:

    1. 选择新触发器。

      如下图所示,为要监视的 (1) 事件和 (2) 操作显示了占位符节点。

      
                                    一个包含多个节点的图表,其中两个是占位符节点,分别用数字 1 和 2 进行标注。
    2. (如果触发器已监视一个事件,并且您要添加更多要监视的作业或爬网程序,则为可选。) 选择 events-to-watch 占位符节点,然后在 Add job(s) and crawler(s) to watch 对话框中,选择一个或多个作业或爬网程序。选择要监视的事件(SUCCEEDED、FAILED 等)并选择 Add (添加)

    3. 确保已选择触发器,然后选择操作占位符节点。

    4. Add jobs(s) and crawler(s) to watch (添加要监视的作业和爬网程序) 对话框中,选择一个或多个作业或爬网程序,然后选择 Add (添加)

      选定作业和爬网程序会与触发器中的连接器一起显示在图表中。

运行工作流程

如果工作流程的启动触发器是按需触发器,则可以从 AWS Glue 控制台、AWS Command Line Interface (AWS CLI) 或 AWS Glue API 启动工作流程。

运行工作流程(控制台)

  1. 通过以下网址打开 AWS Glue 控制台:https://console.amazonaws.cn/glue/

  2. 在导航窗格中,在 ETL 下,选择 Workflows (工作流程)

  3. 选择工作流程。在 Actions (操作) 菜单上,选择 Run (运行)

    您可以在 AWS Glue 控制台上的 Last run status (上次运行状态) 列下监控工作流程运行状态。

    如果工作流程失败,请执行以下操作:

    1. 确保已选择工作流程,然后选择 History (历史记录) 选项卡。

    2. History (历史记录) 下,选择最近的运行,然后选择 View run details (查看运行详细信息)

    3. 在动态 (运行时) 图表中选择一个失败的作业或爬网程序,然后查看右侧的 Job details (作业详细信息)Crawler details (爬网程序详细信息) 窗格。失败的节点为红色或黄色。有关 Status (状态) 值的说明,请参阅AWS Glue 作业运行状态

运行工作流 (AWS CLI)

  • 输入以下命令。Replace <workflow-name> 运行工作流程的 。

    aws glue start-workflow-run --name <workflow-name>

    如果工作流程成功启动,则此命令将返回运行 ID。