本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 Firehose 串流
若要以 Apache Iceberg 資料表做為目的地建立 Firehose 串流,您需要設定下列項目。
注意
用於交付至 S3 資料表儲存貯體中資料表的 Firehose 串流設定與 Amazon S3 中的 Apache Iceberg 資料表相同。
設定來源和目的地
若要將資料交付至 Apache Iceberg 資料表,請選擇串流的來源。
若要設定串流的來源,請參閱設定來源設定。
接著,選擇 Apache Iceberg 資料表做為目的地,並提供 Firehose 串流名稱。
設定資料轉換
若要對資料執行自訂轉換,例如新增或修改傳入串流中的記錄,您可以將 Lambda 函數新增至 Firehose 串流。如需在 Firehose 串流中使用 Lambda 進行資料轉換的詳細資訊,請參閱 轉換 Amazon Data Firehose 中的來源資料。
針對 Apache Iceberg 資料表,您需要指定如何將傳入記錄路由至不同的目的地資料表,以及您要執行的操作。向 Firehose 提供必要路由資訊的其中一種方式是使用 Lambda 函數。
如需詳細資訊,請參閱將記錄路由到不同的 Iceberg 資料表。
連接資料目錄
Apache Iceberg 需要資料目錄才能寫入 Apache Iceberg 資料表。Firehose 與 AWS Glue Data Catalog for Apache Iceberg 資料表整合。
您可以在與 Firehose 串流 AWS Glue Data Catalog 相同的 帳戶或跨帳戶,以及與 Firehose 串流相同的 區域 (預設) 或不同 區域中使用 。
設定 JQ 表達式
對於 Apache Iceberg 資料表,您必須指定如何將傳入記錄路由到不同的目的地資料表,以及要執行的操作,例如插入、更新和刪除。您可以設定 Firehose 的 JQ 表達式來剖析並取得必要資訊,藉此達成此目的。如需詳細資訊,請參閱使用 JSONQuery 表達式將路由資訊提供給 Firehose。
設定唯一金鑰
具有多個資料表的更新和刪除 – 唯一索引鍵是來源記錄中的一或多個欄位,可唯一識別 Apache Iceberg 資料表中的資料列。如果您只插入具有多個資料表的案例,則不需要設定唯一金鑰。如果您想要對特定資料表執行更新和刪除,則必須為這些必要資料表設定唯一金鑰。請注意,如果資料表中的資料列遺失,更新會自動插入資料列。如果您只有單一資料表,則可以設定唯一金鑰。
您可以在建立 Firehose 串流時設定每個資料表的唯一金鑰,也可以在建立資料表identifier-field-ids
是否有必要資料表,並將它們用作唯一金鑰。如果兩者都未設定,則具有更新和刪除操作的資料交付會失敗。
若要設定本節,請提供您要更新或刪除資料的資料表的資料庫名稱、資料表名稱和唯一索引鍵。您只能對組態中的每個資料表擁有項目。如果資料表中的資料無法交付,您也可以選擇提供錯誤儲存貯體字首,如下列範例所示。
[ { "DestinationDatabaseName": "MySampleDatabase", "DestinationTableName": "MySampleTable", "UniqueKeys": [ "COLUMN_PLACEHOLDER" ], "S3ErrorOutputPrefix": "OPTIONAL_PREFIX_PLACEHOLDER" } ]
指定重試持續時間
您可以使用此組態指定 Firehose 應嘗試重試的持續時間,如果在 Amazon S3 中寫入 Apache Iceberg 資料表時遇到失敗。您可以設定 0 到 7200 秒的任何值來執行重試。根據預設,Firehose 會重試 300 秒。
處理失敗的交付或處理
您必須設定 Firehose 將記錄交付至 S3 備份儲存貯體,以防其在重試持續時間到期後處理或交付串流時遇到故障。為此,請從 主控台的備份設定中設定 S3 備份儲存貯體和 S3 備份儲存貯體錯誤輸出字首。
設定緩衝區提示
Firehose 會將記憶體中的傳入串流資料緩衝至特定大小 (緩衝大小) 和一段特定時間 (緩衝間隔),再將其交付至 Apache Iceberg 資料表。您可以選擇 1–128 MiBs 的緩衝區大小,以及 0–900 秒的緩衝區間隔。較高的緩衝提示會導致較少的 S3 寫入次數、因較大的資料檔案而降低壓縮成本,以及更快速的查詢執行,但具有更高的延遲。較低的緩衝區提示值會以較低的延遲提供資料。
配置進階設定
您可以設定 Apache Iceberg 資料表的伺服器端加密、錯誤記錄、許可和標籤。如需詳細資訊,請參閱配置進階設定。您需要新增作為 一部分建立的 IAM 角色使用 Apache Iceberg 資料表做為目的地的先決條件。Firehose 將擔任 角色來存取 AWS Glue 資料表和寫入 Amazon S3 儲存貯體。
Firehose 串流建立可能需要幾分鐘的時間才能完成。成功建立 Firehose 串流後,您可以開始將資料擷取至其中,並檢視 Apache Iceberg 資料表中的資料。