Amazon Redshift 的 Apache Iceberg 相容性 - Amazon Redshift

Amazon Redshift 自 2025 年 11 月 1 日起不再支援建立新的 Python UDF。如果您想要使用 Python UDF,請在該日期之前建立 UDF。現有 Python UDF 將繼續正常運作。如需詳細資訊,請參閱部落格文章

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

Amazon Redshift 的 Apache Iceberg 相容性

您可以將整個 Amazon Redshift 佈建叢集或無伺服器命名空間註冊到 AWS Glue Data Catalog,以建立目錄,安全地跨AWS帳戶共用即時資料。您可以從支援 Apache Iceberg REST API 的任何 SQL 查詢引擎存取這些目錄。AWS Lake Formation 負責管理目錄的許可,讓您能夠使用一組許可來管理資料的單一副本,同時利用像是具體化視觀表和零 ETL 整合等 Amazon Redshift 功能。

從 中註冊的 Amazon Redshift 佈建叢集和無伺服器命名空間建立的所有目錄AWS Glue Data Catalog,都會自動掛載為相同帳戶AWS 區域下相同 中所有佈建叢集和無伺服器工作群組上的外部資料庫。在 中建立AWS Glue Data Catalog以在 Redshift 受管儲存 (RMS) 中存放資料的目錄,會與外部資料庫類似掛載。掛載後,您可以直接連線到這些資料庫,並使用三部分標記法 database@namespace-catalog.schema.table 查詢物件。

提供 Apache Iceberg 相容性的區域

Apache Iceberg 可在下列 AWS 區域 與 Amazon Redshift 相容:

  • 美國東部 (維吉尼亞北部)

  • 美國東部 (俄亥俄)

  • 美國西部 (加利佛尼亞北部)

  • 亞太地區 (香港)

  • 亞太地區 (首爾);

  • 亞太地區 (新加坡)

  • 亞太地區 (雪梨)

  • 亞太區域 (東京)

  • 加拿大 (中部)

  • 歐洲 (法蘭克福)

  • 歐洲 (愛爾蘭)

  • 歐洲 (倫敦)

  • 歐洲 (斯德哥爾摩)

  • 南美洲 (聖保羅)

在 中使用 Amazon Redshift 目錄時的考量和限制AWS Glue Data Catalog

在 中使用 Amazon Redshift 目錄時AWS Glue Data Catalog,請考慮下列事項:

  • 向 註冊的資料倉儲AWS Glue Data Catalog遵循存取資料表的三部分語法 (database@namespace-catalog.schema.table)。例如,如果您註冊名為 a 的 Amazon Redshift 命名空間,並從名為 b 的資料庫填入資料,而該資料庫擁有名為 c 的結構描述,其中有名為 d 的資料表,那麼您會使用下列陳述式從 d 中選取:

    SELECT * FROM b@a.c.d;

    請注意,語法 database@namespace-catalog 部分的總長度必須為 127 個字元或更少。

  • 當您向 註冊叢集或命名空間時AWS Glue Data Catalog,Amazon Redshift 會註冊該叢集或命名空間中的所有資料庫和關係。

  • 您可以向 AWS Glue Data Catalog 註冊多個 Redshift 叢集和命名空間。

  • 註冊叢集或命名空間時,只會註冊該叢集或命名空間中的內部結構描述和關係。不會註冊下列項目:

    • 外部結構描述。

    • 外部資料表。請注意,從外部資料表建立的近期繫結檢視也會註冊。

    • 使用者建立的函式。

    • 程序。

    • 附加資料列層級安全或動態資料遮罩政策的資料表。

    • 具有大寫或混合大小寫名稱的資料庫物件。不會註冊包含大寫或混合大小寫欄的資料表。這點即使 enable_case_sensitive_identifier 已停用也適用。

  • Amazon Redshift 資料庫許可 (例如,藉由角色型存取控制授予的角色) 不會傳輸到 AWS Glue Data Catalog 中的目錄。使用 AWS Lake Formation設定 的許可AWS Glue Data Catalog。如需使用 Lake Formation 設定許可的詳細資訊,請參閱《AWS Lake Formation 開發人員指南》中的設定 Amazon Redshift 資料共用的許可

  • 當您從已註冊的叢集或無伺服器命名空間建立目錄時, 會使用 Amazon Redshift 運算資源AWS Glue Data Catalog建立 Amazon Redshift 受管工作群組,以便在查詢該目錄時處理運算需求。您可以在 Amazon Redshift Serverless 主控台中檢視受管工作群組,並在 AWS Glue 中進行管理。

  • 當您註冊暫停的叢集時,在叢集恢復之前, AWS Glue Data Catalog不會將該叢集掛載為目錄。

  • 當您註冊未主動使用的無伺服器命名空間時,在再次使用命名空間之前, AWS Glue Data Catalog不會將該命名空間掛載為目錄。

  • 若要存取已註冊至 的資料倉儲中的資料表AWS Glue Data Catalog,資料庫的隔離層級必須是 SNAPSHOT。嘗試存取隔離層級為 SERIALIZABLE 的資料表將導致錯誤。如需可序列化隔離的詳細資訊,請參閱 Amazon Redshift 中的隔離層級。如需變更資料庫隔離層級的相關資訊,請參閱 ALTER DATABASE

    請注意,預設 dev 資料庫的隔離層級無法更改。因此,這表示在 dev 中註冊資料倉儲時,AWS Glue Data Catalog 資料庫中的資料表不會包含在可存取的資料中。