View a markdown version of this page

使用 Apache Iceberg 表作为目的地的先决条件 - Amazon Data Firehose

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

使用 Apache Iceberg 表作为目的地的先决条件

从以下选项中进行选择,以完成所需的先决条件。

在 Amazon S3 中传输到 Iceberg 表的先决条件

开始之前,请满足以下先决条件。

  • 创建 Amazon S3 存储桶:您必须创建 Amazon S3 存储桶,以便在创建表期间添加元数据文件路径。有关更多信息,请参阅创建 S3 存储桶

  • 创建具有所需权限的 IAM 角色:Firehose 需要具有特定权限的 IAM 角色才能访问 AWS Glue 表并将数据写入 Amazon S3。相同的角色用于授予 AWS Glue 对 Amazon S3 存储桶的访问权限。在创建 Iceberg 表和 Firehose 流时,您需要此 IAM 角色。有关更多信息,请参阅 授予 Firehose 访问 Amazon S3 表的权限

  • 创建 Apache Iceberg 表:如果您在 Firehose 流中配置用于更新和删除的唯一键,则 Firehose 会在创建流时验证表和唯一键是否存在。在这种情况下,您必须在创建 Firehose 流之前创建表。您可以使用 AWS Glue 创建 Apache 冰山表。有关更多信息,请参阅 Creating Apache Iceberg tables。如果您没有在 Firehose 流中配置唯一键,则无需在创建 Firehose 流之前创建 Iceberg 表。

    注意

    Firehose 支持 Apache Iceberg 表的以下表格版本和格式。

    • 表格格式版本:Firehose 仅支持 V2 表格格式。请勿创建 V1 格式的表,否则会出现错误,数据将改为传输到 S3 错误存储桶。

    • 数据存储格式:Firehose 以 Parquet 格式将数据写入 Apache Iceberg 表。

    • 行级操作 — Firehose 支持向 Apache Iceberg Tables 写入数据的 Merge-on-Read (MOR) 模式。

传输到 Amazon S3 表类数据存储服务的先决条件

要将数据传输到 Amazon S3 表类数据存储服务存储桶,请先满足以下先决条件。

  • 创建 S3 表存储桶、命名空间、表存储桶中的表以及 Amazon S3 表类数据存储服务入门中概述的其他集成步骤。由于 S3 表目录集成施加的限制(如 S3 表目录集成限制中所述),列名必须为小写。

  • 创建具有所需权限的 IAM 角色:Firehose 需要具有特定权限的 IAM 角色才能访问 AWS AWS Glue 表并将数据写入 Amazon S3 表类数据存储服务存储桶。要写入 Amazon S3 表存储桶中的表,您还必须为 IAM 角色提供所需的权限。Amazon S3 表目录所需的权限取决于您使用的访问控制模式:

    • IAM 访问控制 — Firehose 交付角色需要直接对 Amazon S3 表格资源的 IAM 权限。

    • Lake Formation 访问控制 — Firehose 交付角色需要 AWS AWS Lake Formation 权限才能管理对您的表格资源的访问权限。 AWS Lake Formation 使用自己的权限模型,可以对数据目录资源进行精细的访问控制。

    在创建 Firehose 流时,您配置此 IAM 角色。有关更多信息,请参阅向 Firehose 授予对 Amazon S3 表类数据存储服务的访问权限

有关分步集成,请参阅博客使用 Amazon S3 表类数据存储服务和 Amazon Data Firehose 构建用于流式传输数据的数据湖。有关更多信息,另请参阅在AWS 分析服务中使用 Amazon S3 表