DELTA_ICEBERG_COMPAT_VIOLATION 错误条件

SQLSTATE:KD00E

IcebergCompatV<version> 的验证失败。

版本更改需要重写

需要重写表才能更改为 IcebergCompatV<newVersion>。 请运行 REORG TABLE APPLY (UPGRADE UNIFORM(“ICEBERG_COMPAT_VERSION = <newVersion>”);

请注意,REORG 启用表功能 IcebergCompatV<newVersion>,而不支持该表功能的其他 Databricks 运行时版本可能无法写入此表。

兼容版本不支持

不支持 IcebergCompatVersion = <version>。 支持的版本介于 1 和 <maxVersion>.

删除向量未清除

IcebergCompatV<version> 要求从表中完全清除删除向量。 请运行 REORG TABLE APPLY (PURGE)命令。

删除矢量应被禁用

IcebergCompatV<version> 要求先在表上禁用删除向量。 然后运行 REORG PURGE 命令清除表上的删除向量。

禁用必需的表功能 (DISABLING_REQUIRED_TABLE_FEATURE)

IcebergCompatV<version> 要求支持和启用功能 <feature>。 你不能将它从桌子上掉下来。 相反,请先禁用 IcebergCompatV<version>

文件不兼容冰山

启用具有 IcebergCompatV<version> 的 Uniform Iceberg 需要所有文件都与 Iceberg 兼容。

表版本 <addFilesCount> 中有 <tableVersion> 个文件,其中 <addFilesWithoutTag> 个文件与 Iceberg 不兼容,这通常是并发写入导致的结果。

请再次运行 REORG TABLEAPPLY (UPGRADE UNIFORM (ICEBERG_COMPAT_VERSION=<version>) 命令。

不兼容的表格功能

IcebergCompatV<version> 与功能 <feature> 不兼容。

MISSING_REQUIRED_TABLE_FEATURE

IcebergCompatV<version> 要求支持和启用功能 <feature>

替换_表格_更改_分区_名称

IcebergCompatV<version> 不支持将分区表替换为名称不同的分区规范,因为 Iceberg-Spark 1.1.0 不支持此操作。

以前的分区规范:<prevPartitionSpec>

新的分区规范:<newPartitionSpec>

重写数据失败

将数据重写到 IcebergCompatV<version> 失败。

请再次运行 REORG TABLEAPPLY (UPGRADE UNIFORM (ICEBERG_COMPAT_VERSION=<version>) 命令。

不支持的数据类型

IcebergCompatV<version> 不支持架构中的数据类型 <dataType>。 你的架构:

<schema>

UNSUPPORTED_PARTITION_DATA_TYPE

IcebergCompatV<version> 不支持架构中分区列的数据类型 <dataType>。 你的分区架构:

<schema>

不支持的类型扩展

IcebergCompatV<version> 与应用于此表的类型更改不兼容:

字段 <fieldPath> 已从 <prevType> 更改为 <newType>

VERSION_MUTUAL_EXCLUSIVE

只能启用一个 IcebergCompat 版本,请显式禁用不需要的所有其他 IcebergCompat 版本。

错误的必需表属性

IcebergCompatV<version> 要求将表属性“<key>”设置为“<requiredValue>”。 当前值:“<actualValue>”。