Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Delta Lake 保留以 delta.
开头的 Delta 表属性。 这些属性可能具有特定含义,并在设置这些属性时影响行为。
注意
所有设置或更新表属性的操作都将与其他并发写入操作冲突,从而导致这些操作失败。 Databricks 建议只有在不存在对表的并发写入操作时才修改表属性。
表属性和 SparkSession 属性如何交互?
Delta 表的属性设置是针对每个表进行的。 如果在表上设置了某个属性,则这是默认遵循的设置。
某些表属性具有关联的 SparkSession 配置,这些配置始终优先于表属性。 一些示例包括 spark.databricks.delta.autoCompact.enabled
和 spark.databricks.delta.optimizeWrite.enabled
配置,这些配置在 SparkSession 级别而不是表级别启用自动压缩和优化写入。 Databricks 建议对大多数工作负载使用表范围的配置。
对于每个 Delta 表属性,可以使用 SparkSession 配置为新表设置默认值,替代内置默认值。 此设置仅影响新表,不会替代或替换现有表上设置的属性。 SparkSession 中使用的前缀不同于表属性中使用的配置,如下表所示:
Delta Lake 配置 | SparkSession 配置 |
---|---|
delta.<conf> |
spark.databricks.delta.properties.defaults.<conf> |
例如,要为会话中创建的所有新 Delta Lake 表设置 delta.appendOnly = true
属性,请执行以下设置:
SET spark.databricks.delta.properties.defaults.appendOnly = true
要修改现有表的表属性,请使用 SET TBLPROPERTIES。
Delta 表属性
可用的 Delta 表属性包括以下项:
财产 |
---|
delta.appendOnly true ,用于将此 Delta 表设为仅追加。 如果仅追加,将无法删除现有记录,并且无法更新现有值。请参阅 Delta 表属性参考。 数据类型: Boolean 默认: false |
delta.autoOptimize.autoCompact auto ,可让 Delta Lake 自动优化此 Delta 表的文件布局。请参阅 Azure Databricks 上的 Delta Lake 的自动压缩。 数据类型: Boolean 默认值:(无) |
delta.autoOptimize.optimizeWrite true ,用于使 Delta Lake 在写入期间自动优化此 Delta 表的文件布局。请参阅 Azure Databricks 上 Delta Lake 的优化写入。 数据类型: Boolean 默认值:(无) |
delta.checkpoint.writeStatsAsJson true ,用于让 Delta Lake 在检查点中为 stats 列写入 JSON 格式的文件统计信息。数据类型: Boolean 默认: true |
delta.checkpoint.writeStatsAsStruct true ,用于让 Delta Lake 在检查点中为 stats_parsed 列写入结构体格式的文件统计信息,并写入分区值作为 partitionValues_parsed 的结构体。数据类型: Boolean 默认: true |
delta.checkpointPolicy classic ,用于经典 Delta Lake 检查点。
v2 ,用于 v2 检查点。请参阅表与液态群集的兼容性。 数据类型: String 默认: classic |
delta.columnMapping.mode 是否为 Delta 表列和使用不同名称的相应 Parquet 列启用列映射。 请参阅使用 Delta Lake 列映射重命名和删除列。 注意:启用 delta.columnMapping.mode 会自动启用delta.randomizeFilePrefixes 。数据类型: DeltaColumnMappingMode 默认: none |
delta.dataSkippingNumIndexedCols Delta Lake 用于收集有关数据跳过的统计信息的列数。 如果值为 -1 ,则表示收集所有列的统计信息。请参阅 Delta Lake 的数据跳过。 数据类型: Int 默认: 32 |
delta.dataSkippingStatsColumns 列名称的逗号分隔的列表,Delta Lake 要收集其统计信息以增强数据跳过功能。 此属性优先于 delta.dataSkippingNumIndexedCols 。请参阅 Delta Lake 的数据跳过。 数据类型: String 默认值:(无) |
delta.deletedFileRetentionDuration Delta Lake 在物理性删除逻辑上已删除的数据文件之前,保留这些文件的最短时长。 这是为了防止压缩或分区覆盖后旧读取器中出现故障。 此值应足够大,以确保:
请参阅为“按时间顺序查看”查询配置数据保留。 数据类型: CalendarInterval 默认: interval 1 week |
delta.enableChangeDataFeed true ,用于启用更改数据馈送。请参阅启用更改数据馈送。 数据类型: Boolean 默认: false |
delta.enableTypeWidening true 启用类型拓宽。请参阅类型拓宽。 数据类型: Boolean 默认: false |
delta.isolationLevel 必须将某事务与并发事务所作修改进行隔离的程度。 有效值为 Serializable 和 WriteSerializable 。请参阅 Azure Databricks 上的隔离级别和写入冲突。 数据类型: String 默认: WriteSerializable |
delta.logRetentionDuration Delta 表历史记录的保留时长。 VACUUM 操作会替代此保留期阈值。每次写入检查点时,Delta Lake 都会自动清除早于保留间隔的日志条目。 如果将此属性设置为足够大的值,则会保留许多日志条目。 这应当不会影响性能,因为针对日志的操作时间恒定。 针对历史记录的操作是并行的,但会随着日志大小的增加而变得更为昂贵。 请参阅为“按时间顺序查看”查询配置数据保留。 数据类型: CalendarInterval 默认: interval 30 days |
delta.minReaderVersion 允许从此 Delta 表读取的读取器的最低所需协议读取器版本。 Databricks 不建议手动配置此属性。 请参阅 Delta Lake 功能兼容性和协议。 数据类型: Int 默认: 1 |
delta.minWriterVersion 允许写入此 Delta 表的编写器所需的最低协议编写器版本。 Databricks 不建议手动配置此属性。 请参阅 Delta Lake 功能兼容性和协议。 数据类型: Int 默认: 2 |
delta.randomizeFilePrefixes true ,表示 Delta Lake 可为文件路径而不是分区信息生成随机前缀。数据类型: Boolean 默认: false |
delta.randomPrefixLength 如果 delta.randomizeFilePrefixes 设置为 true ,则为 Delta Lake 生成的随机前缀的字符数。数据类型: Int 默认: 2 |
delta.setTransactionRetentionDuration 新快照保留事务标识符(如 SetTransaction )的最短持续时间。 当新快照看到事务标识符早于或等于此属性指定的持续时间时,快照会将其视为已过期并忽略该标识符。 当要使写入操作具有幂等性时,则使用 SetTransaction 标识符。 有关详细信息,请参阅 foreachBatch 中的幂等表写入。数据类型: CalendarInterval 默认值:(无) |
delta.targetFileSize 用于优化文件的目标文件大小(字节或更大的单位)。 例如, 104857600 (字节)或 100mb 。请参阅配置 Delta Lake 以控制数据文件大小。 数据类型: String 默认值:(无) |
delta.tuneFileSizesForRewrites true :对 Delta 表的所有数据布局优化操作始终使用较小的文件大小。false :永远不调整为较小的文件大小,也即,会阻止激活自动检测功能。请参阅配置 Delta Lake 以控制数据文件大小。 数据类型: Boolean 默认值:(无) |
delta.parquet.compression.codec (在 Databricks Runtime 16.0 及更高版本中可用。ZSTD 在 Delta 表上使用 Zstandard (Zstd) 压缩。SNAPPY 在 Delta 表上使用 Snappy 压缩。
数据类型: String 默认值:(无) |