配置数据目标节点 - Amazon Glue
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

配置数据目标节点

数据目标是任务写入转换后数据的位置。

数据目标选项概览

您的数据目标(也称为数据接收器)可以是:

  • S3 – 任务将数据写入您选择的 Amazon S3 位置的文件中,并以您指定的格式写入。

    如果您为数据目标配置分区列,则任务会根据分区键将数据集写入 Amazon S3 的目录。

  • Amazon Glue Data Catalog – 任务使用与数据目录中的表关联的信息将输出数据写入目标位置。

    您可以手动创建表,也可以使用爬网程序创建表。您还可以使用 Amazon CloudFormation 模板在数据目录中创建表。

  • 连接器 – 连接器是一段代码,便于您在数据存储和 Amazon Glue 之间通信。任务使用连接器和关联的连接将输出数据写入目标位置。您可以订阅 Amazon Web Services Marketplace 中提供的连接器,或者您还可以创建自己的自定义连接器。有关更多信息,请参阅 将连接器添加到 Amazon Glue Studio

您可以选择在任务写入 Amazon S3 数据目标时更新数据目录。当架构或分区发生更改时,不需要爬网程序更新数据目录,此选项可以更轻松地使表保持最新状态。此选项可选择性地将新表添加到数据目录、更新表分区以及直接从任务更新表的方案,简化将数据用于分析的过程。

编辑数据目标节点

数据目标是任务写入转换后数据的位置。

在任务图中添加或配置数据目标节点
  1. (可选)如果需要添加目标节点,请在可视化编辑器顶部工具栏中选择 Target (目标),然后选择 S3 或者 Glue Data Catalog

    • 如果选择 S3,则任务将数据集写入您指定的 Amazon S3 位置中的一个或多个文件。

    • 如果选择 Amazon Glue Data Catalog,则任务将写入从数据目录中选择的表所描述的位置。

  2. 在任务图中选择一个数据目标节点。选择节点时,节点详细信息面板将在页面右侧显示。

  3. 选择 Node properties (节点属性) 选项卡,然后输入以下信息:

    • Name (名称):输入要与任务图中节点关联的名称。

    • Node type (节点类型):应该已选择一个值,但您可以根据需要对其进行更改。

    • Node parents (父节点):父节点是任务图中提供要写入目标位置的输出数据的节点。对于预填充的任务图,目标节点应该已经选择父节点。如果没有显示父节点,则从列表中选择父节点。

      目标节点具有单个父节点。

  4. 配置 Data target properties (数据目标属性) 信息。有关详细信息,请参阅以下章节:

  5. (可选)配置数据目标节点属性后,您可以选择节点详细信息面板中的 Output schema (输出架构) 选项卡,查看数据的输出架构。当您首次为任务中的任何节点选择此选项卡时,系统会提示您提供 IAM 角色以访问数据。如果您尚未在 Job details (任务详细信息) 选项卡上指定 IAM 角色,系统会提示您在此处输入 IAM 角色。

将 Amazon S3 用于数据目标

对于 Amazon S3 和连接器之外的所有数据源,表必须位于您所选择源类型的 Amazon Glue Data Catalog 中。Amazon Glue Studio 不会创建数据目录表。

配置写入 Amazon S3 的数据目标节点
  1. 转到新任务或已保存任务的可视编辑器。

  2. 在任务图中选择一个数据源节点。

  3. 选择 Data source properties (数据源属性) 选项卡,然后输入以下信息:

    • Format (格式):从列表中选择格式。数据结果的可用格式类型包括:

      • JSON:JavaScript 对象表示法。

      • CSV:逗号分隔的值。

      • Avro:Apache Avro JSON 二进制。

      • Parquet:Apache Parquet 列式存储

      • Glue Parquet:自定义 Parquet 编写器类型,已针对 DynamicFrames 作为数据格式优化。它不需要数据预先计算的架构,而是动态计算和修改架构。

      • ORC:Apache 优化的行列式(ORC)格式。

      要了解有关这些格式选项的更多信息,请参阅《Amazon Glue 开发人员指南》中的 Amazon Glue 中 ETL 输入和输出的格式选项

    • Compression Type (压缩类型):您可以选择使用 gzip 或者 bzip2 格式压缩日期。默认值为无压缩,或 None (无)

    • S3 Target Location (S3 目标位置):Amazon S3 存储桶和数据输出的位置。您可以选择 Browse S3 (浏览 S3) 按钮,查看您有权访问的 Amazon S3 存储桶,然后选择一个作为目标目的地。

    • 数据目录更新选项

      • Do not update the Data Catalog (请勿更新数据目录):(默认)如果您不希望任务更新数据目录(即使架构更改或添加了新分区),请选择此选项。

      • Create a table in the Data Catalog and on subsequent runs, update the schema and add new partitions (在数据目录中创建表并在后续运行时,更新架构并添加新分区):如果选择此选项,任务将在第一次任务运行时创建数据目录中的表。在后续任务运行时,如果架构发生更改或添加了新分区,任务将更新数据目录表。

        您还必须从数据目录中选择数据库并输入表名。

      • Create a table in the Data Catalog and on subsequent runs, keep existing schema and add new partitions (在数据目录中创建表,并在后续运行时保持现有架构并添加新分区):如果选择此选项,任务将在第一次任务运行时创建数据目录中的表。在后续任务运行时,任务只更新数据目录表以添加新分区。

        您还必须从数据目录中选择数据库并输入表名。

      • Partition keys (分区键):选择要在输出中用作分区键的列。要添加更多分区键,请选择 Add a partition key (添加分区键)

使用数据目标的数据目录表

对于 Amazon S3 和连接器之外的所有数据源,表必须位于您所选择目标类型的 Amazon Glue Data Catalog 中。Amazon Glue Studio 不会创建数据目录表。

为使用数据目录表的目标配置数据属性
  1. 转到新任务或已保存任务的可视编辑器。

  2. 在任务图中选择一个数据目标节点。

  3. 选择 Data target properties (数据目标属性) 选项卡,然后输入以下信息:

    • Database (数据库):从列表中选择包含用作目标的表的数据库。此数据库必须已存在于数据目录中。

    • Table (表):从列表中选择定义输出数据架构的表。此表必须已存在于数据目录中。

      数据目录中的表包含列的名称、数据类型定义、分区信息以及有关目标数据集的其他元数据。您的任务写入数据目录中此表描述的位置。

      有关在数据目录中创建表的更多信息,请参阅 Amazon Glue 开发人员指南中的在数据目录中定义表

    • 数据目录更新选项

      • Do not change table definition (请勿更改表定义):(默认)如果不希望任务更新数据目录(即使架构更改或添加了新分区),请选择此选项。

      • Update schema and add new partitions (更新架构并添加新分区):如果选择此选项,任务将更新数据目录表(如果架构更改或添加新分区)。

      • Keep existing schema and add new partitions (保留现有架构并添加新分区):如果选择此选项,任务将仅为了添加新分区而更新数据目录表。

      • Partition keys (分区键):选择要在输出中用作分区键的列。要添加更多分区键,请选择 Add a partition key (添加分区键)

将连接器用作数据目标

如果您为 Node type (节点类型) 选择连接器,请按照 使用自定义连接器编写任务 中的说明操作,完成数据目标属性的配置。