Unity 目录要求和限制

本页介绍 Unity 目录的计算要求、支持的文件格式、命名约束和已知限制。

区域支持

所有区域都支持 Unity Catalog。 有关详细信息,请参阅 Azure Databricks 区域

计算要求

支持 Unity Catalog 的群集需要运行 Databricks Runtime 11.3 LTS 或更高版本。 默认情况下,所有 SQL 仓库计算版本都支持 Unity Catalog。

在早期版本的 Databricks Runtime 上运行的群集不支持 Unity Catalog 所有 GA 特性和功能。

若要访问 Unity Catalog 中的数据,必须为群集配置正确的访问模式。 默认情况下,Unity Catalog 是安全的。 如果未使用标准或专用访问模式配置群集,则群集无法访问 Unity 目录中的数据。 请参阅访问模式

有关每个 Databricks Runtime 版本中 Unity 目录功能更改的详细信息,请参阅 发行说明

局限性

Unity Catalog 具有以下限制。 其中一些特定于较旧的 Databricks Runtime 版本和计算访问模式。

根据 Databricks Runtime 和访问模式,结构化流工作负载还存在其他限制。 请参阅 标准计算要求和限制 以及 专用计算要求和限制

Databricks 发布了定期缩减此列表的新功能。

  • 以前在工作区中创建的组(即工作区级组)不能在 Unity Catalog GRANT 语句中使用。 这是为了确保跨工作区的组群视图一致性。 若要在GRANT语句中使用组,请在帐户级别创建组,并更新用于主体或组管理的任何自动化(例如 SCIM、Okta 和 Microsoft Entra ID 集成程序,以及 Terraform),以引用帐户终结点,而非工作区终结点。 请参阅 组源
  • R 中的工作负荷不支持在运行 Databricks Runtime 15.3 及更低版本的计算上使用动态视图实现行级或列级安全性。
    • 使用专门的计算资源运行 Databricks Runtime 15.4 LTS 或更高版本,以处理 R 中查询动态视图的工作负载。 此类工作负荷还需要启用无服务器计算的工作区。
  • 托管表可以浅表克隆到 Databricks Runtime 13.3 LTS 及更高版本上的另一个托管表。 外部表可以在 Databricks Runtime 14.2 及更高版本上被浅克隆到另一个外部表。 托管表不能被浅复制为外部表。 此外,外部表不能浅克隆为托管表。 有关详细信息,请参阅 Unity 目录表的浅表克隆
  • Unity Catalog 表不支持分桶功能。 如果运行尝试在 Unity Catalog 中创建 Bucket 表的命令,则会引发异常。
  • 如果某些群集访问 Unity Catalog,而其他群集不访问,则从多个区域的工作区写入相同的路径或 Delta Lake 表可能会导致性能不可靠。
  • 使用诸如 ALTER TABLE ADD PARTITION 之类的命令操作外部表的分区时,必须启用分区元数据日志记录。 请参阅外部表的分区发现功能
  • 对非 Delta 格式的表使用覆盖模式时,用户必须具有针对父架构的 CREATE TABLE 权限,且必须是现有对象的所有者,要么具有对该对象的 MODIFY 权限。
  • Databricks Runtime 12.2 LTS 及更低版本不支持 Python UDF。 这包括 UDAF、UDTF 和 Spark 上的 Pandas(applyInPandasmapInPandas)。 Databricks Runtime 13.3 LTS 及更高版本支持 Python 标量 UDF。
  • 在采用标准访问模式的计算中,Databricks Runtime 14.1 及更低版本不支持 Scala UDF。 在采用标准访问模式的计算中,Databricks Runtime 14.2 及更高版本支持标量 UDF。
  • 不支持标准 Scala 线程池。 请改用 org.apache.spark.util.ThreadUtils 中的特殊线程池,例如 org.apache.spark.util.ThreadUtils.newDaemonFixedThreadPool。 但是,不支持 ThreadUtils 中的以下线程池:ThreadUtils.newForkJoinPool 和任何 ScheduledExecutorService 线程池。

在 Unity Catalog 中注册的模型具有其他限制。 请参阅限制

资源配额

Unity Catalog 对所有安全对象强制实施资源配额。 这些配额列在资源限制中。 如果预期超过这些资源限制,请联系 Azure Databricks 帐户团队。

可以使用 Unity Catalog 资源配额 API 来监视配额使用情况。 请参阅监视你对 Unity Catalog 资源配额的使用情况