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

砖引入了支持新三角洲湖三角洲湖之上的特性和优化,构建在砖运行时版本。一些三角洲湖功能可能出现在砖之前可以在开源三角洲湖。bob下载地址

砖的优化利用三角洲湖功能可能不是开源,但是尊重协议用于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和下面,启用在束称为三角洲湖特性协议版本。表特性协议版本的继承人和被设计为客户提高灵活性的目标,读写三角洲湖。看到协议版本是什么?

请注意

表特性有协议版本的需求。看到功能的协议版本

δ表特性是一个标记,表明表支持一个特定的功能。每个特性是写协议特性(即它只升级写协议)或读/写协议特性(即读写协议升级到启用的特性)。

了解更BOB低频彩多关于支持表特性在三角洲湖,看到三角洲湖协议

做表功能改变三角洲湖功能启用吗?

如果你只通过砖与三角洲表,您可以继续跟踪支持三角洲湖功能使用最低砖运行时的要求。砖支持阅读三角洲表已经升级到表特性在所有砖运行时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。改变<- - - - - -标识符>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。