

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# Apache Iceberg 与 Amazon Redshift 的兼容性
<a name="iceberg-integration_overview"></a>

您可以将整个 Amazon Redshift 预置集群或无服务器命名空间注册到 AWS Glue Data Catalog，以创建可在 AWS 账户之间安全地共享实时数据的目录。您可以从任何支持 Apache Iceberg REST API 的 SQL 查询引擎访问这些目录。AWS Lake Formation 管理目录的权限，可让您使用一组权限管理单个数据副本，同时利用 Amazon Redshift 功能（例如实体化视图和零 ETL 集成）。

从在 AWS Glue Data Catalog 中注册的 Amazon Redshift 预置集群和无服务器命名空间创建的所有目录，都会自动作为外部数据库挂载到同一 AWS 区域中同一账户下的所有预置集群和无服务器工作组上。在 AWS Glue Data Catalog 中创建的用于将数据存储在 Redshift 托管式存储（RMS）中的目录与外部数据库的挂载方式类似。挂载后，您可以直接连接到这些数据库，并使用三部分表示法 `database@namespace-catalog.schema.table` 查询对象。

## 提供 Apache Iceberg 兼容性的区域
<a name="iceberg-integration-regions"></a>

以下 AWS 区域提供 Apache Iceberg 与 Amazon Redshift 的兼容性：
+  美国东部（弗吉尼亚州北部） 
+  美国东部（俄亥俄州） 
+  美国西部（北加利福尼亚） 
+  亚太地区（香港） 
+  亚太地区（首尔）；
+  亚太地区（新加坡） 
+  亚太地区（悉尼） 
+  亚太地区（东京） 
+  加拿大（中部） 
+  欧洲地区（法兰克福） 
+  欧洲地区（爱尔兰） 
+  Europe (London) 
+  Europe (Stockholm) 
+  南美洲（圣保罗） 

## 在 AWS Glue Data Catalog 中使用 Amazon Redshift 目录时的注意事项和限制
<a name="iceberg-integration-considerations"></a>

在 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](r_enable_case_sensitive_identifier.md)，这也适用。
+  Amazon Redshift 数据库权限（例如通过基于角色的访问控制授予的角色）不会转移到 AWS Glue Data Catalog 中的目录。使用 AWS Lake Formation 为 AWS Glue Data Catalog 配置权限。有关使用 Lake Formation 配置权限的更多信息，请参阅《AWS Lake Formation 开发人员指南》**中的[设置 Amazon Redshift 数据共享权限](https://docs.aws.amazon.com/lake-formation/latest/dg/setup-ds-perms.html)。
+  当您从注册的集群或无服务器命名空间创建目录时，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 中的隔离级别](c_serial_isolation.md)。有关更改数据库的隔离级别的信息，请参阅 [ALTER DATABASE](r_ALTER_DATABASE.md)。

   请注意，无法更改默认 `dev` 数据库的隔离级别。因此，这意味着在向 AWS Glue Data Catalog 注册数据仓库时，`dev` 数据库中的表不会包含在可访问的数据中。