使用 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 Iceberg 表。有关更多信息,请参阅 Creating Apache Iceberg tables。如果您没有在 Firehose 流中配置唯一键,则无需在创建 Firehose 流之前创建 Iceberg 表。

    注意

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

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

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

    • 行级操作:Firehose 支持以读取时合并 (MOR) 模式将数据写入 Apache Iceberg 表。

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

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

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

  • 创建具有所需权限的 IAM 角色:Firehose 需要具有特定权限的 IAM 角色才能访问 AWS Glue 表并将数据写入 Amazon S3 表类数据存储服务存储桶。要写入 S3 表存储桶中的表,您还必须在 AWS Lake Formation 中为 IAM 角色提供所需的权限。在创建 Firehose 流时,您配置此 IAM 角色。有关更多信息,请参阅向 Firehose 授予对 Amazon S3 表类数据存储服务的访问权限

  • 配置 AWS Lake Formation 权限:AWS Lake Formation 管理对表格资源的访问权限。Lake Formation 使用其自己的权限模型,该模型可以对数据目录资源进行精细的访问控制。

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