使用 Amazon 數據 Firehose 將數據傳遞到 Apache 冰山表 - Amazon 數據 Firehose

將亞馬遜資料 Firehose 串流交付到 Amazon S3 中的 Apache 冰山表格已處於預覽狀態,且可能會有所變更。

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

使用 Amazon 數據 Firehose 將數據傳遞到 Apache 冰山表

注意

在 Amazon S3 中將 Firehose 流交付到 Apache 冰山表格已處於預覽狀態。請勿將此功能用於生產工作負載。

Apache Iceberg 是用於執行大數據分析的高效能開放原始碼資料表格式。Apache Iceberg 將SQL表格的可靠性和簡單性帶到 Amazon S3 資料湖,並讓 Spark、Flink、Trino、Hive 和黑斑羚等開放原始碼分析引擎可以同時使用相同的資料。如需 Apache 冰山的更多資訊,請參閱https://iceberg.apache.org/

您可以使用 Firehose 將串流資料直接傳送到 Amazon S3 中的 Apache 冰山表。使用此功能,您可以將記錄從單個流路由到不同的 Apache 冰山表,並自動將插入,更新和刪除操作應用於 Apache 冰山表中的記錄。此功能需要使用 AWS Glue Data Catalog.

注意

Apache Iceberg Tables 可在美國東部 (維吉尼亞北部)、美國西部 (奧勒岡)、歐洲 (愛爾蘭)、亞太區域 (東京)、加拿大 (中部) 和亞太區域 (雪梨) 使用 AWS 區域 用於預覽。

考慮和限制

預覽的 Apache 冰山資料表的 Firehose 支援有下列考量和限制。

  • 輸送量 — 如果您使用 Direct PUT 作為將資料傳遞至 Apache Iceberg 表格的來源,則在美國東部 (維吉尼亞北部)、美國西部 (奧勒岡) 和歐洲 (愛爾蘭) 區域,在亞太區域 (東京)、加拿大 (中部) 和亞太區域 (雪梨) 區域,每個串流的最大輸送量為 5 Mb/秒。如果您只想在沒有更新和刪除的情況下將資料插入 Iceberg 資料表,而且想要測試串流的更高輸送量,則可以使用 Firehose Limits 表單來要求提高輸送量限制。

  • — 對於欄名稱和值,Firehose 只會採用多層巢狀結構JSON中的第一層節點。例如,Firehose 會挑選第一層級中可用的節點,包括位置欄位。來源資料的欄名稱和資料類型應該與 Firehose 成功傳遞的目標表格相符。在這種情況下,Firehose 會預期您在 Iceberg 表格中有結構或對映資料類型欄位,以符合位置欄位。Firehose 支持 16 級嵌套。下面是一個嵌套的一個例子JSON。

    { "version":"2016-04-01", "deviceId":"<solution_unique_device_id>", "sensorId":"<device_sensor_id>", "timestamp":"2024-01-11T20:42:45.000Z", "value":"<actual_value>", "position":{ "x":143.595901, "y":476.399628, "z":0.24234876 } }

    如果資料行名稱或資料類型不相符,則 Firehose 會擲回錯誤,並將資料傳送至 S3 錯誤儲存貯體。如果 Apache Iceberg 資料表中的所有資料行名稱和資料類型都相符,但來源記錄中還有其他新欄位,Firehose 會略過新欄位。

  • 每個記錄一個JSON物件 — 您只能在一個 Firehose 記錄中傳送一個JSON物件。如果您在記錄內彙總並傳送多個JSON物件,Firehose 會擲回錯誤,並將資料傳送至 S3 錯誤儲存貯體。

  • 串流來源 — Firehose 目前不支援 Apache 卡夫卡的 Amazon 託管串流作為 Apache 冰山表的來源。

  • 壓縮 — 每次您使用 Firehose 撰寫時,都會產生資料檔案。擁有數千個小型資料檔案會增加中繼資料額外負荷並影響讀取效能 為了獲得最佳的查詢效能,您可能需要考慮一種解決方案,該解決方案會定期取得較小的資料檔案,並將其重寫為較少的較大資料 這個過程稱為壓實。 AWS Glue Data Catalog 支持您的 Apache 冰山表的自動壓實。如需詳細資訊,請參閱中的壓縮管理 AWS Glue 使用者指南。有關其他信息,請參閱 Apache 冰山表的自動壓縮。您也可以使用在 Apache Iceberg 資料表上執行資料表維護的VACUUM陳述式,藉此減少儲存體耗用量來最佳化 Iceberg 資料