使用 Apache Iceberg 資料表做為目的地的先決條件 - Amazon Data Firehose

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Apache Iceberg 資料表做為目的地的先決條件

從下列選項中選擇,以完成必要的先決條件。

在 Amazon S3 中交付至 Iceberg 資料表的先決條件

開始之前,請先完成下列先決條件。

  • 建立 Amazon S3 儲存貯體 – 您必須建立 Amazon S3 儲存貯體,以在建立資料表期間新增中繼資料檔案路徑。如需詳細資訊,請參閱建立 S3 儲存貯體

  • 建立具有必要許可的 IAM 角色 – Firehose 需要具有特定許可的 IAM 角色,才能存取 AWS Glue 資料表並將資料寫入 Amazon S3。相同的角色用於授予對 Amazon S3 儲存貯體的 AWS Glue 存取權。當您建立 Iceberg 資料表和 Firehose 串流時,您需要此 IAM 角色。如需詳細資訊,請參閱授予 Firehose 對 Apache Iceberg 資料表目的地的存取權

  • 建立 Apache Iceberg 資料表 – 如果您要在 Firehose 串流中設定唯一金鑰以進行更新和刪除,Firehose 會驗證資料表和唯一金鑰是否存在做為串流建立的一部分。在此案例中,您必須先建立資料表,才能建立 Firehose 串流。您可以使用 AWS Glue 建立 Apache Iceberg 資料表。如需詳細資訊,請參閱建立 Apache Iceberg 資料表。如果您未在 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 資料表儲存貯體,請完成下列先決條件。

  • 建立具有必要許可的 IAM 角色 – Firehose 需要具有特定許可的 IAM 角色,才能存取 AWS Glue 資料表並將資料寫入 Amazon S3 資料表儲存貯體中的資料表。若要寫入 S3 資料表儲存貯體中的資料表,您還必須提供 IAM 角色所需的許可 AWS Lake Formation。您可以在建立 Firehose 串流時設定此 IAM 角色。如需詳細資訊,請參閱授予 Firehose 對 Amazon S3 資料表的存取權

  • 建立 S3 資料表儲存貯體、命名空間、資料表儲存貯體中的資料表,以及整合 Amazon S3 資料表與 AWS 分析服務中概述的其他整合步驟。

    注意

    在所述的步驟中,將DESCRIBE許可授予 AWS Lake Formation 您先前建立的 IAM 角色。

    您將使用在 Firehose 串流組態中作為資料庫和資料表名稱作為先決條件一部分建立的資料庫和資料表的資源連結名稱,用於路由目的。如果您要路由至單一資料表,您可以在 Firehose 串流組態的唯一金鑰區段中使用它們,或將其做為輸入資料的一部分傳送給 Firehose,以便使用 JSON Query 表達式路由至正確的資料表。

    如需建立資源連結的更多方法,請參閱 Lake Formation 使用者指南中的建立共用 Data Catalog 資料表的資源連結建立共用 Data Catalog 資料庫的資源連結