設定目的地設定 - Amazon Data Firehose

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

設定目的地設定

注意

Firehose 支援所有 中的資料庫作為來源 AWS GovCloud (US) Regions,但中國區域和亞太區域 (馬來西亞) AWS 區域除外。此功能處於預覽狀態,可能會有所變更。請勿將其用於您的生產工作負載。

Firehose 支援將資料庫變更交付至 Apache Iceberg Tables。設定下列目的地設定,以資料庫做為來源來設定 Firehose 串流。

連接資料目錄

Apache Iceberg 需要資料目錄才能寫入 Apache Iceberg Tables。Firehose 與 AWS Glue Data Catalog for Apache Iceberg Tables 整合。您可以在與 Firehose 串流相同的帳戶中,或在跨帳戶和與 Firehose 串流相同的區域中 (預設),或在不同的區域中使用 AWS Glue Data Catalog 。

啟用自動建立資料表

如果您啟用此選項,Firehose 會自動在目標目的地中建立所需的資料庫、資料表和資料欄,其名稱和結構描述與來源資料庫相同。如果您啟用此選項,且 Firehose 找到一些已有相同名稱和結構描述的資料表,則會改用這些現有資料表,並僅建立缺少的資料庫、資料表和資料欄。

如果您未啟用此選項,Firehose 會嘗試尋找所需的資料庫、資料表和資料欄。如果 Firehose 找不到它們,它會擲回錯誤並將資料傳送到 S3 錯誤儲存貯體。

注意

若要讓 Firehose 成功將資料交付至 Iceberg Tables,資料庫、資料表和資料欄名稱以及結構描述應完全相符。如果資料庫物件和結構描述的名稱不相符,則 Firehose 會擲回錯誤,並將資料交付至 S3 錯誤儲存貯體。

對於 MySQL 資料庫,來源資料庫映射至 AWS Glue 資料庫,來源資料表映射至 AWS Glue 資料表。

對於 PostgreSQL,來源資料庫映射到 AWS Glue 資料庫,來源資料表映射到名為 的 AWS Glue 資料表SchemaName_TableName

注意

對於 Amazon S3 Tables,Firehose 不支援自動建立資料表。您必須先建立 S3 資料表,才能建立 Firehose 串流。

啟用結構描述演變

如果您啟用此選項,Firehose 會在來源結構描述變更時自動發展 Apache Iceberg Tables 的結構描述。作為結構描述演變的一部分,Firehose 目前支援新增資料欄。例如,如果將新資料欄新增至來源資料庫端的資料表,Firehose 會自動接受這些變更,並將新資料欄新增至適當的 Apache Iceberg 資料表。

指定重試持續時間

您可以使用此組態來指定 Firehose 在寫入 Amazon S3 中的 Apache Iceberg Tables 時,應嘗試重試的持續時間,以秒為單位。您可以設定 0 到 7200 秒的任何值來執行重試。根據預設,Firehose 會重試 300 秒。

處理失敗的交付或處理

您必須設定 Firehose 將記錄交付至 S3 備份儲存貯體,以防其在重試持續時間到期後無法處理或交付串流。為此,請設定 S3 備份儲存貯體和 S3 備份儲存貯體錯誤輸出字首。

設定緩衝提示

Firehose 會將記憶體中的傳入串流資料緩衝至特定大小 (緩衝大小) 和一段特定時間 (緩衝間隔),再交付至 Apache Iceberg Tables。您可以選擇 1–128 MiBs緩衝區大小,以及 0–900 秒的緩衝區間隔。較高的緩衝提示會導致較少的 S3 寫入、因較大的資料檔案而降低壓縮成本、查詢執行時間更快,但延遲較高。較低的緩衝區提示值會以較低的延遲提供資料。

配置進階設定

對於進階設定,您可以設定 Apache Iceberg Tables 的伺服器端加密、錯誤記錄、許可和標籤。如需詳細資訊,請參閱配置進階設定。您必須新增在 中建立的 IAM 角色,授予 Firehose 將資料庫變更複寫至 Apache Iceberg Tables 的存取權才能使用 Apache Iceberg Tables 做為目的地。Firehose 將擔任存取 AWS Glue 資料表和寫入 Amazon S3 儲存貯體的角色。

強烈建議您啟用 CloudWatch Logs。如果 Firehose 連線至資料庫或拍攝資料表快照有任何問題,Firehose 會將錯誤和日誌擲回已設定的日誌。這是通知您錯誤的唯一機制。

Firehose 串流建立可能需要幾分鐘的時間才能完成。成功建立 Firehose 串流後,您可以開始將資料擷取到其中,並且可以在 Apache Iceberg 資料表中檢視資料。

注意

只為一個資料庫設定一個 Firehose 串流。一個資料庫具有多個 Firehose 串流會建立資料庫的多個連接器,這會影響資料庫效能。

建立 Firehose 串流後,現有資料表的初始狀態將是快照 IN_PROGRESS。當快照狀態設定為IN_PROGRESS 時,請勿變更來源資料表的結構描述。如果您在快照進行時變更資料表的結構描述,則 Firehose 會略過資料表的快照。當快照程序完成時,其狀態會變更為 COMPLETE