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

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

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

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

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

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

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

  • 创建具有所需权限的IAM角色 — Firehose 需要一个具有特定权限的IAM角色才能访问 AWS Glue 表并将数据写入 Amazon S3。相同的角色用于授予 AWS Glue 对 Amazon S3 存储桶的访问权限。当你创建 Iceberg Table 和 Firehose 直播时,你需要这个IAM角色。有关更多信息,请参阅 向 Firehose 授予 Apache Iceberg 表目的地的访问权限

  • 创建 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 表存储桶,请完成以下先决条件。

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

  • 创建 S3 表存储桶、命名空间、表存储桶中的表,以及将 Amazon S3 表与 AWS 分析服务集成中概述的其他集成步骤。

    注意

    在上述步骤中,向您之前创建的IAM角色授予 AWS Lake Formation DESCRIBE权限。

    您将在Firehose流配置中使用作为先决条件一部分创建的数据库和表的资源链接名称作为数据库和表的名称进行路由。如果您要路由到单个表,则可以在Firehose流配置的唯一键部分使用它们,也可以将它们作为输入数据的一部分发送,以供Firehose使用查询表达式路由到正确的表。JSON

    有关创建资源链接的更多方法,请参阅 La ke Formation 用户指南中的创建指向共享数据目录表的资源链接或创建指向共享数据目录数据库的资源链接。