使用 Apache Iceberg 表作为目的地的先决条件 - Amazon Data Firehose
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

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

从以下选项中进行选择。

在 Amazon S3 中配送到 Iceberg Tables 的先决条件

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

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

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

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

    注意

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

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

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

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

传输到 Amazon S3 表的先决条件

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

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

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

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

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