Databricks 會自動升級 Unity Catalog 管理的資料表,使其使用普遍可用的推薦功能,無需修改程式碼或手動 ALTER TABLE 語句。 自動升級會先驗證用戶端相容性,然後才啟用新功能。
自動升級帶來以下好處:
- 減少在您的工作區中,針對每個資料表與功能組合逐一驗證各項相容性需求所需的管理作業負擔。 如果你有成千上萬個表格的目錄,這點特別有幫助。
- 自動獲得管理資料表上最新的效能與可靠性改進。
- 安全地升級資料表。 自動升級只有在驗證工作負載相容性後才會啟用功能。
如需進一步了解這些功能的相關優點,請參閱 自動升級:Lakehouse 資料表的最佳做法。
自動升級的運作方式
自動升級會監控 Unity Catalog 管理的資料表存取模式,並利用觀察視窗確認存取模式相容性,然後再開啟任何功能。 公開預覽版的升級觀察期為 50 天,而一般可用的升級則為 100 天。 請參閱 支援功能。
自動升級則是利用無伺服器運算在背景中升級資料表。 此過程不收費。
結構描述與資料表
自動升級的行為取決於該架構是新出現的,還是在功能發布時已經存在。 當你建立一個新資料表時,它會繼承其結構預設屬性的特徵。 下表說明每個案例:
| Schema | 表 | Behavior |
|---|---|---|
| 新增 | 新增 | 自動升級會在建立時設定結構層級預設值,使資料表立即繼承所有支援的功能。 |
| Existing | 新增 | 自動升級僅會在前一個觀察期間內,該結構描述中的所有資料表都曾由已驗證的工作負載存取時,才啟用該功能。 否則,如果有一個未驗證的工作負載存取了結構中的任何資料表,自動升級會忽略該新資料表。 請參閱 已驗證的工作負載。 |
| Existing | Existing | 當以下條件全部成立時,自動升級會啟動一項功能:
|
已驗證的工作負載
若工作負載是從Databricks叢集存取該資料表,且Databricks執行時版本達到或超過該功能最低要求版本,則該工作負載被視為已驗證特定功能。
自動升級會考慮以下未驗證的工作負載:
- 外部客戶及第三方服務如 Flink 或 Presto。 請參閱 Unity 目錄整合。
- Azure Databricks 服務提供直接資料表存取,例如 Zerobus,繞過標準的 Databricks 執行時存取模式。 請參閱 Zerobus 匯入連接器概觀。
如果結構中的任何資料表在觀察視窗內被低於該功能最低要求版本的 Databricks 執行時版本存取,或是由外部用戶端存取,自動升級不會啟用該結構中任何資料表對應的功能。
支援的功能
自動升級適用於一般可用的部分功能,詳見下表。 功能可用性可能因地區而異。
Important
自動液體聚類僅適用於新資料表。 與其他功能不同的是,它在建立資料表時預設加入,且不會套用到現有的資料表。
具備普遍可用的升級功能
以下功能通常可用,且自動升級會套用到指定的表格類型。 自動升級系統也普遍可用。
每個功能都會逐步推出,從發售日開始,並在約六個月內送達所有用戶。
| Feature | 數據表類型 | 最低相容的 Databricks 執行時版本 | 其功能是什麼 | 發行日期 |
|---|---|---|---|---|
| 自動液體聚集 |
|
15.4 LTS | 自動根據頻繁查詢的欄位組織資料表資料,提升查詢效能,無需手動分割。 自動升級不會將此功能套用到現有資料表。 | 2026年5月22日 |
| 檢查點V2 |
|
13.3 LTS | 支援更多並行寫入者,並減少大型或頻繁更新資料表的寫入衝突。 | 2026 年 5 月 19 日,適用於新結構描述中的新資料表 2026 年 7 月 13 日,適用於現有結構描述中的所有資料表 |
| 行追蹤 |
|
14.1 | 維持隱藏的列識別碼以進行增量處理。 啟用列追蹤時,即可自動 進行變更資料串流 ,無需額外設定。 請參閱 AUTO CDC API。 | 2026 年 7 月 25 日,新結構中新增資料表 2026 年 7 月 13 日,適用於所有現有結構中的資料表 |
| 目錄提交 |
|
16.4 LTS | 集中化 Unity Catalog 中的提交,允許多資料表交易、提升外部寫入的互通性,並允許跨引擎的治理政策。 | 2026年7月13日 |
| Parquet v2 |
|
18.1 | 使用進階 Parquet 編碼、資料頁標頭及 INT64 時間戳,提升查詢效能並減少 Delta Lake 資料表的儲存空間。 |
2026 年 6 月 25 日 |
公開預覽中的升級功能
以下功能通常可用,但其自動升級仍為公開預覽,需先註冊。
自動升級僅適用於這些功能,前提是你已註冊公開預覽版,且這些升級會在你註冊後立即生效:
| Feature | 數據表類型 | 最低相容的 Databricks 執行時版本 | 其功能是什麼 |
|---|---|---|---|
| 目錄提交 |
|
16.4 LTS | 集中化 Unity Catalog 中的提交,允許多資料表交易、提升外部寫入的互通性,並允許跨引擎的治理政策。 |
| 列對應 |
|
15.4 LTS | 讓你能重新命名和刪除欄位,而不必重寫資料。 |
| Parquet v2 |
|
18.1 | 使用進階 Parquet 編碼、資料頁標頭及 INT64 時間戳,提升查詢效能並減少 Delta Lake 資料表的儲存空間。 |
Requirements
- 你的區域必須有無伺服器運算。
- 資料表必須是 Unity Catalog 管理的 Delta Lake 或 Apache Iceberg 格式資料表。
觀察啟用功能
若要檢查自動升級是否在資料表上啟用了某項功能,請在 Catalog Explorer 的 SET TBLPROPERTIES 索引標籤中尋找 作業,或使用 DESCRIBE HISTORY <table_name>。 若自動升級執行此操作,使用者名稱欄位顯示的是雜湊值而非使用者名稱,例如 4d137f29-62。 請參閱 什麼是目錄總管? 以及 查看資料表歷史。
自動升級啟用新架構中資料表的功能後,請在目錄檔案總管的 屬性 標籤中查看架構預設值。 例如,開啟列追蹤的結構會顯示一個屬性,例如 catalog.schema.enableRowTracking: "true"。 現有的結構架構沒有自動升級的可觀察性屬性。
為了帳號整體的可見性,請查詢自動升級系統表。 這個表格會記錄自動升級新增到表格上的每個功能、新增時間以及受影響的表格,讓你能稽核所有工作區的升級活動。 請參閱 自動升級系統表格參考資料。
管理推薦功能
管理員可以回退升級變更,或關閉個別資料表的功能。
還原變更
可將 RESTORE 資料表的資料與元資料還原至啟用此功能前的版本:
RESTORE TABLE <table_name> TO VERSION AS OF <version>;
RESTORE TABLE <table_name> TO TIMESTAMP AS OF <timestamp>;
關於資料表歷史與還原的更多資訊,請參見 「還原資料表至早期狀態 」。
關閉表格相關功能
要關閉單一表格上的某項功能:
ALTER TABLE <table_name> DROP FEATURE <feature_name>
在你手動關閉某項功能後,自動更新不會再次將其開啟。
Limitations
- 透過 Delta Lake Sharing 共用的資料表,無論是 Databricks-to-Open 或 Databricks-to-Databricks,均不包含在自動升級範圍內。 請參閱什麼是開放共享(OpenSharing?)。
- 自動升級沒有批次回滾機制,無法在帳號內所有資料表關閉某項功能。 請參閱 「管理自動升級推薦功能」。
- 不支援具體化檢視和串流數據表。
- 繞過 Unity 目錄並直接透過路徑存取資料表的工作負載,不會被自動升級追蹤。 如果您的工作負載使用基於路徑的存取,請聯繫您的帳戶團隊討論相容性。
- 外部資料表已排除在自動升級之外。 外部資料表通常透過檔案路徑存取,繞過 Unity 目錄,而 Unity 目錄無法可靠追蹤這些存取模式。 請參閱 使用外部數據表。
常見問題
以下回答關於自動升級的常見問題。
Unity Catalog 管理資料表的自動升級是什麼?
請參閱本頁頂端的導言。
自動升級是如何檢查相容性的?
請參閱 已驗證的工作負載。
自動升級會自動更改我的表格嗎?
Yes. 在功能被驗證為對資料表安全後,Databricks 會透過輕量級背景工作套用該功能。 你仍然可以在個別表格上關閉功能。
如果我關閉桌面上的某項功能,自動升級之後能重新開啟嗎?
No. 當你關閉自動升級新增的功能後,自動升級不會再在該表格上重新啟用該功能。
自動升級會改變我現有的資料表嗎?
可以,但前提是觀察視窗確認所有存取該資料表的客戶端都支援該功能。 自動液態叢集是例外:它只適用於新建立的資料表,絕不適用於現有的資料表,因為那樣會改變它們現有的資料配置。
自動升級和預測優化有什麼不同?
預測優化透過壓實與真空等操作維持資料配置,並可選擇自動液體聚類。 自動升級會啟用新的表格功能,例如行追蹤或 Checkpoint V2。 兩者互為補充:一個負責妥善維護資料表,另一個則讓資料表保持最新狀態。 自動液體叢集會透過自動升級套用到新資料表。 請參閱 Unity Catalog 管理資料表的預測性優化。
自動升級如何驗證資料表是否可以安全地升級?
自動升級只會啟用一般可用的功能,這些功能不會實質降低效能或增加成本。 自動升級會在觀察視窗內等待,要求每個存取客戶端都相容,跳過無法完全驗證的資料表,並且允許你隨時關閉資料表上的任何功能。
如果我的資料表發生變更,我該如何判斷是否為自動升級所造成的?
自動升級所做的每一項變更,都會顯示在表格的 DESCRIBE HISTORY 輸出和 Catalog Explorer 的 歷程記錄 分頁中,並清楚標示為與你自己的變更不同。 若要查看整個帳號範圍內的情況,可查詢 system.storage.table_auto_upgrade_operations_history,以了解任何功能是於何時新增至任何資料表。 請參閱 檢視資料表歷程記錄。
自動升級會不會破壞供外部或開放原始碼工具讀取的資料表?
No. 外部或 開放原始碼 客戶端存取的資料表不在範圍內。 自動升級只有在能驗證每個存取資料表的客戶端都支援此功能時才會啟動。
哪些表格有資格自動升級?
我的資料表還要多久才會升級? 我什麼時候會看到改變?
自動升級利用觀察視窗捕捉不頻繁的工作負載,例如每月批次作業、季度報告及臨時分析,然後再採取行動。 在確認資料表相容後,系統會隨後不久透過背景作業套用該功能。 當某項功能首次推出時,會逐步向各客戶及資料表推出,因此大約需要六個月才會擴及具有相容工作負載的資料表。
我需要做什麼才能在 Databricks 中自動開啟資料表功能?
不需要採取行動。 自動升級可在無需設定的情況下評估並升級符合條件的表格。
我可以關閉整個帳號的自動升級,或是結構、目錄或工作區的自動升級嗎?
自動升級無法完全關閉,但你可以隨時關閉桌面上的任何單一功能。 在您這麼做之後,自動升級不會再次為該資料表啟用該功能。
自動升級會收費嗎?
自動升級流程(背景 ALTER TABLE 操作)不收費。
透過自動升級套用的功能會讓我付出什麼成本嗎?
一般來說,實質增加成本的功能不包含在自動升級之外。 多種應用功能,如刪除向量與 Parquet v2,降低了儲存與計算成本。 列追蹤在非常大的資料表上會增加少量一次性的前期成本,因為它會為每一列分配唯一識別碼,但它也幫助你節省實體化檢視,因為它能以增量刷新取代完全重新計算。
我該如何追蹤未來會透過自動升級推出的功能?
請查看 支援的功能 ,了解哪些功能正在公開預覽,哪些即將推出給所有客戶。 若想在新功能發布時收到通知,請在 Azure Databricks 發布說明頁面設置 RSS 訂閱。 你也可以看看 《What's coming?》。