磚三角洲湖管理功能的兼容性如何?

磚引入了支持新三角洲湖三角洲湖之上的特性和優化,構建在磚運行時版本。一些三角洲湖功能可能出現在磚之前可以在開源三角洲湖。

磚的優化利用三角洲湖功能可能不是開源,但是尊重協議用於OSS三角洲湖兼容。

許多磚優化需要啟用三角洲湖特性表。三角洲湖總是向後兼容的特性,所以表寫的較低的磚運行時版本總是可以讀和寫的一個更高的磚運行時版本。使一些功能打破向前兼容工作負載運行在一個較低的磚運行時版本。對於打破向前兼容性的特性,您必須更新所有工作負載,參考升級表使用一個兼容的磚運行時版本。

三角洲湖特性需要磚運行時升級什麼?

以下三角洲湖特性打破向前兼容性。無論基礎上特性被啟用。此表列出了最低磚磚仍然支持運行時版本。

功能

需要磚的運行時版本或更高版本

文檔

檢查約束

磚運行時9.1 LTS

設置一個檢查約束磚

改變數據提要

磚運行時9.1 LTS

使用三角洲湖變化數據以磚

生成的列

磚運行時9.1 LTS

使用生成的列湖三角洲

列映射

磚運行時10.4 LTS

重命名和刪除列與三角洲湖列映射

標識列

磚運行時10.4 LTS

使用標識列在三角洲湖

表功能

磚12.1運行時

表的功能是什麼?

刪除向量

磚12.1運行時

刪除向量是什麼?

TimestampNTZ

磚13.0運行時

TIMESTAMP_NTZ類型

看到磚的運行時版本

請注意

三角洲生活表和磚SQL自動運行時環境與普通版本升級到支持新特性。看到三角洲住表發布說明和版本升級過程磚SQL版本說明

一個表協議規範是什麼?

每個三角洲表有一個協議規範,表明表支持的特性集。應用程序所使用的協議規範是讀或寫表來確定他們可以處理表所支持的所有功能。如果一個應用程序不知道如何處理功能,被列為支持協議的一個表,那麼應用程序不能讀或寫那張桌子。

協議規範是分為兩個部分:閱讀協議寫協議

閱讀協議

讀表支持協議列出了所有功能,應用程序必須正確理解為了讀表。升級表要求所有讀者的閱讀協議應用程序支持添加的功能。

重要的

所有應用程序寫入一個增量表必須能夠構建一個表的快照。因此,寫的工作負載三角洲表必須尊重讀者和作家協議要求。

如果你遇到一個協議所不支持的工作負載在磚上,你必須升級到更高的磚運行時支持的協議。

寫協議

寫協議列出所有表支持功能,應用程序必須正確理解為了寫表。升級表的編寫協議要求所有作者應用程序支持添加的功能。它不影響隻讀應用程序,除非讀協議也在升級。

協議必須升級?

一些功能需要升級協議讀和寫協議。其他功能隻需要升級寫協議。

作為一個例子,支持檢查約束是一種寫協議特點:編寫應用程序需要知道檢查約束和實施。

相比之下,列映射需要升級的讀和寫協議。因為不同的數據存儲在表中,閱讀器應用程序必須理解列映射,這樣他們就可以正確地讀取數據。

更多升級,明白了協議版本升級

表的功能是什麼?

在磚運行時的12.1及以上,三角洲湖表特性引入顆粒標記指定給定表支持哪些特性。在磚運行時的12.0和下麵,啟用在束稱為三角洲湖特性協議版本。表特性協議版本的繼承人和被設計為客戶提高靈活性的目標,讀寫三角洲湖。看到協議版本是什麼?

請注意

表特性有協議版本的需求。看到功能的協議版本

δ表特性是一個標記,表明表支持一個特定的功能。每個特性是寫協議特性(即它隻升級寫協議)或讀/寫協議特性(即讀寫協議升級到啟用的特性)。

了解更多關於支持表特性在三角洲湖,看到三角洲湖協議

做表功能改變三角洲湖功能啟用嗎?

如果你隻通過磚與三角洲表,您可以繼續跟蹤支持三角洲湖功能使用最低磚運行時的要求。磚支持閱讀三角洲表已經升級到表特性在所有磚運行時LTS版,隻要使用的所有功能表支持。

如果你讀和寫從三角洲表使用其他係統,您可能需要考慮表特性如何影響兼容性,因為還存在一種風險,即係統無法理解協議版本升級。

重要的

表特性引入version 7的作家和讀者的三角洲湖格式版本3。對所有支持的磚磚補丁代碼運行時LTS版添加支持表的特性,但是隻是對於那些磚的特性已經支持在運行時。這意味著,雖然您可以選擇使用表特性使生成的列,在磚運行時仍然使用這些表9.1 LTS,啟用了標識列的表(需要磚運行時10.4 LTS)仍在磚不支持運行時。

協議版本是什麼?

協議版本是一個協議號,表示一個特定的分組表的功能。在磚運行時的12.0和下麵,你不能單獨啟用表特性。協議版本包的一組功能。

δ表指定一個單獨的協議版本讀協議和寫協議。三角洲的事務日誌表包含協議版本控製信息,支持三角洲湖進化。看到回顧三角洲湖表細節描述細節

協議版本包所有功能從先前的協議。看到功能的協議版本

請注意

從version 7的作家和讀者版本3,三角洲湖已經介紹了表的概念特性。使用表特性,您現在可以選擇隻啟用這些功能所支持的其他客戶數據的生態係統。看到表的功能是什麼?

功能的協議版本

下麵的表顯示了三角洲湖功能所需最低協議版本。

請注意

如果你隻關心磚運行時的兼容性,明白了三角洲湖特性需要磚運行時升級什麼?

功能

minWriterVersion

minReaderVersion

文檔

基本功能

2

1

三角洲湖是什麼?

檢查約束

3

1

設置一個檢查約束磚

改變數據提要

4

1

使用三角洲湖變化數據以磚

生成的列

4

1

使用生成的列湖三角洲

列映射

5

2

重命名和刪除列與三角洲湖列映射

標識列

6

2

使用標識列在三角洲湖

表功能讀

7

1

表的功能是什麼?

表功能編寫

7

3

表的功能是什麼?

刪除向量

7

3

刪除向量是什麼?

TimestampNTZ

7

3

TIMESTAMP_NTZ類型

協議版本升級

你可以選擇手動更新一個表更新的協議版本。磚建議使用最低的協議版本,支持所需的三角洲湖特性表。升級寫信人協議可能造成的破壞要升級協議自係統和工作負載使用舊磚運行時版本仍然可以讀取表,即使他們不支持更新的作家協議。

警告

不可逆轉的協議版本升級,升級協議版本可能會打破現有的三角洲湖表讀者、作家,或兩者兼而有之。磚建議您升級的具體表隻在需要時,如選擇在三角洲湖新特性。您還應該檢查以確保你所有的當前和未來的生產工具支持三角洲湖表與新協議版本。

升級一個表更新的協議版本,使用DeltaTable.upgradeTableProtocol方法:

——讀者協議版本升級1和作者協議版本3。改變<table_identifier>TBLPROPERTIES(“delta.minReaderVersion”=' 1 ',“delta.minWriterVersion”=“3”)
delta.tables進口DeltaTableδ=DeltaTableforPath(火花,“path_to_table”)#或DeltaTable.forNameδupgradeTableProtocol(1,3)#升級readerVersion = 1, writerVersion = 3
進口ioδDeltaTable瓦爾δ=DeltaTableforPath(火花,“path_to_table”)/ /或DeltaTable.forNameδupgradeTableProtocol(1,3)/ /升級readerVersion = 1, writerVersion = 3。