本頁說明 Unity 目錄的計算需求、支援的檔案格式、命名限制及已知限制。
區域支援
所有區域都支援 Unity 目錄。 如需詳細資訊,請參閱 Azure Databricks 區域。
計算需求
Unity 目錄支援在執行 Databricks Runtime 11.3 LTS 或更新版本的叢集上運行。 所有 SQL 倉儲 計算版本默認支援 Unity Catalog。
在舊版 Databricks Runtime 上執行的叢集不支援所有 Unity 目錄 GA 特性和功能。
若要存取 Unity 目錄中的數據,叢集必須設定正確的 存取模式。 Unity 目錄預設為安全。 如果未以標準或專用存取模式設定叢集,叢集就無法存取 Unity 目錄中的數據。 請參閱存取模式。
如需每個 Databricks 執行時間版本中 Unity 目錄功能變更的詳細資訊,請參閱 版本資訊。
檔案格式支援
Unity 目錄支援以下的表格格式:
可保護物件命名要求
下列限制適用於 Unity 目錄中的所有物件名稱:
- 物件名稱不能超過 255 個字元。
- 不允許下列特殊字元:
- 期間 (
.) - 空間 (
) - 正斜線 (
/) - 所有 ASCII 控制字元 (00-1F 十六進位)
- DELETE 字元 (7F 十六進位)
- 期間 (
- Unity 目錄會將所有物件名稱儲存為小寫。
- 在 SQL 中參考 UC 名稱時,您必須使用反引號來逸出包含特殊字元的名稱,例如連字元 (
-)。
備註
欄位名稱可以使用特殊字元,但若使用特殊字元,則必須在所有 SQL 語句中以反引號將名稱括起來。 Unity Catalog 會保留欄位名稱的大小寫,但對 Unity Catalog 表格的查詢不區分大小寫。
局限性
Unity 目錄具有下列限制。 其中有些是較舊的 Databricks 運行時間版本和計算存取模式特有的。
結構化串流工作負載有額外的限制,視 Databricks 運行時間和存取模式而定。 請參閱 標準運算需求和限制 和 專用運算需求和限制。
Databricks 會發行定期壓縮此清單的新功能。
- 先前在工作區中建立的群組(也就是工作區層級群組)無法在 Unity Catalog
GRANT語句中使用。 這是為了確保跨工作區的群組視圖能保持一致性。 若要在陳述式中使用GRANT群組,請在帳戶層級建立群組,並更新主體或群組管理的任何自動化 (例如 SCIM、Okta 和 Microsoft Entra ID 連接器,以及 Terraform),以參考帳戶端點,而不是工作區端點。 請參閱 群組來源。 - R 中的工作負載不支援針對執行 Databricks Runtime 15.3 和以下計算的數據列層級或數據行層級安全性使用動態檢視。
- 針對 R 中查詢動態檢視的工作負載,使用執行 Databricks Runtime 15.4 LTS 或更新版本的專用計算資源。 這類工作負載也需要啟用無伺服器計算的工作區。 如需詳細資訊,請參閱 專用計算的細緻存取控制。
- 在 Databricks Runtime 13.3 LTS 及以上版本中,受管理資料表可以淺層複製到另一個受管理資料表。 在 Databricks Runtime 14.2 及以上版本中,外部資料表可以淺層複製到另一個外部資料表。 受管理的資料表無法淺層複製到外部資料表。 此外,外部資料表無法淺層複製到受管理的資料表上。 欲了解更多資訊,請參閱 Unity Catalog 表格的淺層克隆。
- Unity Catalog 資料表不支援分桶。 如果您執行命令來嘗試在 Unity Catalog 中建立分桶表,則會引發例外狀況。
- 如果從多個區域的工作區寫入相同的路徑或 Delta Lake 表,而某些叢集存取 Unity Catalog,而其他叢集則未存取,可能會導致效能不可靠。
- 使用
ALTER TABLE ADD PARTITION之類的命令操作外部資料表的分割區,需要啟用分割區元數據記錄。 請參閱外部資料表的分割發現。 - 對非 Delta 格式的數據表使用覆寫模式時,用戶必須具有父架構的 CREATE TABLE 許可權,而且必須是現有對象的擁有者,或具有 物件的 MODIFY 許可權。
- Databricks Runtime 12.2 LTS 和以下版本不支援 Python UDF。 這包括 Spark 上的 UDAF、UDTF 和 Pandas (
applyInPandas和mapInPandas)。 Databricks Runtime 13.3 LTS 和更新版本支援 Python 純量 UDF。 - 在具有標準存取模式的計算上,Databricks Runtime 14.1 和以下版本不支援 Scala UDF。 Databricks Runtime 14.2 和更新版本在具有標準存取模式的計算上支援純量 UDF。
- 在專用運算中,存取 Unity 目錄資料的工作負載必須使用支援的執行緒池,
org.apache.spark.util.ThreadUtils例如ThreadUtils.newDaemonFixedThreadPoolThreadUtils.newDaemonCachedThreadPool或 。 其他執行緒池不支援,包括ForkJoinPool、Scala 平行集合如.par、 及ThreadUtils.newForkJoinPool任何ScheduledExecutorService執行緒池。
- Azure 診斷記錄只會記錄工作區層級的 Unity 目錄事件。 若要檢視帳戶層級動作,您必須使用稽核日誌系統表格。 請參閱 稽核記錄系統數據表參考。
在 Unity 目錄中註冊的模型有其他限制。 請參閱限制。
資源配額
Unity 目錄會對所有安全物件強制執行資源配額。 這些配額列在資源限制中。 如果您預期會超過這些資源限制,請聯絡您的 Azure Databricks 帳戶團隊。
您可以使用 Unity 目錄資源配額 API 來監視配額使用量。 請參閱 監控 Unity Catalog 資源配額的使用情況。