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 功能。

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

提供 Apache Iceberg 相容性的區域

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

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

  • 美國東部 (俄亥俄)

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

  • 亞太區域 (香港)

  • 亞太地區 (首爾);

  • 亞太區域 (新加坡)

  • 亞太區域 (雪梨)

  • 亞太區域 (東京)

  • 加拿大 (中部)

  • 歐洲 (法蘭克福)

  • 歐洲 (愛爾蘭)

  • 歐洲 (倫敦)

  • 歐洲 (斯德哥爾摩)

  • 南美洲 (聖保羅)

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

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

  • 在 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 資料共用的許可

  • 當您從註冊的叢集或無伺服器命名空間建立目錄時,AWS Glue Data Catalog 會使用 Amazon Redshift 運算資源建立 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 資料庫中的資料表不會包含在可存取的資料中。