Unity 目錄 GA 版本資訊

重要

此檔已淘汰,且可能未更新。 不再支援此內容中所提及的產品、服務或技術。 請參閱 什麼是 Unity 目錄?

2022 年 8 月 25 日

Unity 目錄現已正式推出於 Azure Databricks。

本文描述 Unity 目錄的正式發行日期。 主要著重於自公開預覽以來新增至 Unity 目錄的功能和更新。 如需 Unity 目錄的目前資訊,請參閱 什麼是 Unity 目錄?。 如需描述自 GA 以來 Unity 目錄更新的版本資訊,請參閱 Azure Databricks 平臺版本資訊和 Databricks 執行時間版本資訊版本資訊及相容性

中繼存放區限制和資源配額

截至 2022 年 8 月 25 日

  • 您的 Azure Databricks 帳戶每個區域只能有一個中繼存放區
  • 中繼存放區最多可以有1000個目錄。
  • 目錄最多可以有 10,000 個架構。
  • 架構最多可以有 10,000 個數據表。

如需目前的 Unity 目錄配額,請參閱 資源配額

GA 支援的記憶體格式

截至 2022 年 8 月 25 日:

  • 所有受控 Unity 目錄數據表都會使用 Delta Lake 儲存數據
  • 外部 Unity 目錄數據表和外部位置支援 Delta Lake、JSON、CSV、Avro、Parquet、ORC 和文字數據。

如需目前的 Unity 目錄支援資料表格式,請參閱 支援的數據檔案格式

從帳戶主控台管理 Unity 目錄資源

使用 Azure Databricks 帳戶控制台 UI 來:

支援的叢集類型和 Databricks 執行時間版本

Unity 目錄需要執行 Databricks Runtime 11.1 或更新版本叢集。 所有 SQL 倉儲 計算版本預設都支援 Unity 目錄。

舊版 Databricks Runtime 支援 Unity 目錄的預覽版本。 在舊版 Databricks Runtime 上執行的叢集不支援所有 Unity 目錄 GA 特性和功能。

當您建立新的叢集時,Unity 目錄需要下列其中一種存取模式:

  • 共用
    • 語言:SQL 或 Python
    • 可由多個用戶共用的安全叢集。 叢集使用者會完全隔離,因此他們看不到彼此的數據和認證。
  • 單一使用者
    • 語言:SQL、Scala、Python、R
    • 安全叢集,可由指定的單一用戶獨佔使用。

如需叢集存取模式的詳細資訊,請參閱 存取模式

如需更新 Databricks Runtime 版本中 Unity 目錄功能的相關信息,請參閱 這些版本的版本資訊

系統資料表

information_schema 完全支援 Unity 目錄數據資產。 每個中繼存放區都包含一個目錄,稱為 system ,其中包含範圍為 information_schema的中繼存放區。 請參閱 信息架構。 您可以使用 information_schema 來回答如下的問題:

「計算每個目錄的數據表數目」

SELECT table_catalog, count(table_name)
FROM system.information_schema.tables
GROUP BY 1
ORDER by 2 DESC

「顯示過去 24 小時內已改變的所有資料表」

SELECT table_name, table_owner, created_by, last_altered, last_altered_by, table_catalog
FROM system.information_schema.tables
WHERE  datediff(now(), last_altered) < 1

結構化串流支援

Unity 目錄現在支持結構化串流工作負載。 如需詳細資訊和限制,請參閱 Unity 目錄限制

請參閱搭配結構化串流使用 Unity 目錄。

SQL 函式

Unity 目錄現在完全支援使用者定義的 SQL 函式。 如需如何建立和使用 SQL UDF 的詳細資訊,請參閱 CREATE FUNCTION (SQL 和 Python)

Unity 目錄中外部位置的 SQL 語法

外部位置的 Spark SQL 現在支援標準資料定義和資料定義語言命令,包括下列專案:

CREATE | DROP | ALTER | DESCRIBE | SHOW EXTERNAL LOCATION

您也可以使用 SQL 管理 GRANT及檢視具有、 REVOKESHOW 外部位置的許可權。 請參閱 外部位置

範例語法:

CREATE EXTERNAL LOCATION <your-location-name>
  URL `<your-location-path>'
  WITH (CREDENTIAL <your-credential-name>);

GRANT READ FILES, WRITE FILES, CREATE EXTERNAL TABLE ON EXTERNAL LOCATION `<your-location-name>`
  TO `finance`;

GA 的 Unity 目錄限制

自 2022 年 8 月 25 日起,Unity 目錄有下列限制。 如需目前的限制,請參閱 Unity 目錄限制

  • 只有使用單一使用者存取模式的叢集才支援使用 機器學習 Runtime 的 Scala、R 和工作負載。 這些語言中的工作負載不支援針對數據列層級或數據行層級安全性使用動態檢視。
  • 使用 Unity 目錄做為複製的來源或目標時,不支援淺層複製。
  • Unity 目錄數據表不支援貯體。 如果您執行命令來嘗試在 Unity 目錄中建立貯體數據表,則會擲回例外狀況。
  • 如果某些叢集存取 Unity 目錄,而其他叢集則無法從多個區域的工作區寫入相同的路徑或 Delta Lake 數據表,可能會導致效能不可靠。
  • 只有 Delta 資料表才支援 DataFrame 寫入作業至 Unity 目錄的覆寫模式,不適用於其他檔案格式。 用戶必須具有 CREATE 父架構的許可權,而且必須是現有對象的擁有者。
  • 串流目前有下列限制:
    • 使用共用存取模式的叢集不支援它。 針對串流工作負載,您必須使用單一使用者存取模式。
    • 尚不支援異步檢查點。
    • 在 Databricks Runtime 11.2 版和更新版本上,針對所有用途或作業叢集持續超過 30 天的串流查詢將會擲回例外狀況。 針對長時間執行的串流查詢,請設定 自動作業重試 或使用 Databricks Runtime 11.3 和更新版本。
  • 目前不支援從 Delta Live Tables 管線參考 Unity 目錄數據表。
  • 先前在工作區中建立的群組無法在 Unity 目錄 GRANT 語句中使用。 這是為了確保跨工作區的群組檢視一致。 若要在 GRANT 語句中使用群組,請在帳戶控制台中建立您的群組,並更新主體或群組管理的任何自動化(例如 SCIM、Okta 和 Microsoft Entra ID(先前稱為 Azure Active Directory)連接器和 Terraform,以參考帳戶端點,而不是工作區端點。

GA 的 Unity 目錄可用性區域

自 2022 年 8 月 25 日起,Unity 目錄可在下列區域中使用。 如需目前支持的區域清單,請參閱 Azure Databricks 區域

  • canadacentral
  • centralus
  • francecentral
  • germanywestcentral
  • japaneast
  • norwayeast
  • southafricanorth
  • swedencentral
  • switzerlandnorth
  • switzerlandwest
  • uaenorth
  • westcentralus
  • westus3
  • australiaeast
  • brazilsouth
  • centralindia
  • eastus
  • eastus2
  • koreacentral
  • northcentralus
  • northeurope
  • southeastasia
  • ukwest
  • westeurope
  • westus