Amazon Glue 中的蓝图概览 - Amazon Glue
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

Amazon Glue 中的蓝图概览

Amazon Glue 蓝图提供了一种创建和共享 Amazon Glue 工作流的方法。当存在可用于类似用例的复杂 ETL 流程时,您可以创建单个蓝图,而不是为每个用例创建一个 Amazon Glue 工作流。

蓝图指定要包含在工作流中的任务和爬网程序,并指定工作流用户在运行蓝图创建工作流时提供的参数。参数的使用使单个蓝图能够为各种类似的用例生成工作流。有关工作流的更多信息,请参阅Amazon Glue 中的工作流程概述

以下是蓝图的示例用例:

  • 您想要对现有数据集进行分区。蓝图的输入参数包括 Amazon Simple Storage Service(Amazon S3)源和目标路径以及分区列列表。

  • 您希望将 Amazon DynamoDB 表快照到 SQL 数据存储(如 Amazon Redshift)中。蓝图的输入参数包括 DynamoDB 表名称和 Amazon Glue 连接,它指定 Amazon Redshift 集群和目标数据库。

  • 您想将多个 Amazon S3 路径中的 CSV 数据转换为 Parquet。您希望 Amazon Glue 工作流为每个路径包含一个单独的爬网程序和任务。输入参数是 Amazon Glue 数据目录中的目标数据库和以逗号分隔的 Amazon S3 路径列表。请注意,在这种情况下,工作流创建的爬网程序和任务的数量是可变的。

蓝图组件

蓝图是包含以下组件的 ZIP 格式归档:

  • Python 布局生成器脚本

    包含指定工作流布局的函数 – 为工作流创建的爬网程序和任务、任务和爬网程序属性以及任务和爬网程序之间的依赖关系。该函数接受蓝图参数并返回 Amazon Glue 用于生成工作流的工作流结构(JSON 对象)。因为您使用 Python 脚本来生成工作流,因此您可以添加适合您的用例的逻辑。

  • 一个配置文件

    指定生成工作流布局的 Python 函数的完全限定名称。还指定脚本使用的所有蓝图参数的名称、数据类型和其他属性。

  • (可选)ETL 脚本和支持文件

    作为高级用例,您可以参数化任务使用的 ETL 脚本的位置。您可以在 ZIP 格式归档中包含任务脚本文件,并为要复制脚本的 Amazon S3 位置指定蓝图参数。布局生成器脚本可以将 ETL 脚本复制到指定位置,并将该位置指定为任务脚本位置属性。您还可以包含任何库或其他支持文件,前提是您的脚本处理它们。


   标记为蓝图的框包含两个较小的框,一个标记为 Python 脚本,另一个标记为 Config 文件。

蓝图运行

从蓝图创建工作流时,Amazon Glue 会运行蓝图,这会启动一个异步过程来创建工作流以及工作流封装的任务、爬网程序和触发器。Amazon Glue 使用蓝图运行来编排工作流及其组件的创建。您可以通过查看蓝图运行状态来查看创建过程的状态。蓝图运行还存储您为蓝图参数提供的值。


   标记为“蓝图运行”的框包含标记为“工作流”和“参数值”的图标。

您可以使用 Amazon Glue 控制台或 Amazon Command Line Interface(Amazon CLI)查看蓝图运行。查看工作流或对工作流进行问题排查时,您始终可以返回蓝图运行以查看用于创建工作流的蓝图参数值。

蓝图的生命周期

蓝图经过开发、测试、向 Amazon Glue 注册并运行以创建工作流。蓝图生命周期中通常涉及三个角色。

角色 任务
Amazon Glue 开发人员
  • 编写工作流布局脚本并创建配置文件。

  • 使用 Amazon Glue 服务提供的库在本地测试蓝图。

  • 创建脚本、配置文件和支持文件的 ZIP 格式归档,并将归档发布到 Amazon S3 中的某个位置。

  • 将存储桶策略添加到 Amazon S3 存储桶,以向 Amazon Glue 管理员的 Amazon 账户授予对存储桶对象的读取权限。

  • 向 Amazon Glue 管理员授予对 Amazon S3 中 ZIP 格式归档的 IAM 读取权限。

Amazon Glue 管理员
  • 使用 Amazon Glue 注册蓝图。Amazon Glue 会将 ZIP 格式归档的副本复制到预留的 Amazon S3 位置。

  • 向数据分析人员授予对蓝图的 IAM 权限。

数据分析人员
  • 运行蓝图以创建工作流,并提供蓝图参数值。检查蓝图运行状态以确保已成功生成工作流和工作流组件。

  • 运行工作流并对其进行故障排除。在运行工作流之前,可以通过在 Amazon Glue 控制台上查看工作流设计图来验证工作流。