丰富三角洲湖与定制元数据表
除了表注释,您可以使用字段三角洲湖事务日志将自定义标记添加到表或个人提交的消息。
设置用户定义元数据提交
您可以指定用户定义的字符串作为元数据提交由这些操作,或者使用DataFrameWriter选项userMetadata
或SparkSession配置spark.databricks.delta.commitInfo.userMetadata
。如果他们被指定,那么选择偏好。这个定义的元数据是可读的描述历史操作。
集火花。砖。δ。commitInfo。userMetadata=覆盖- - - - - -为- - - - - -修复- - - - - -不正确的- - - - - -数据插入覆盖默认的。people10m选择*从更多人
df。写。格式(“δ”)\。模式(“覆盖”)\。选项(“userMetadata”,“overwritten-for-fixing-incorrect-data”)\。保存(“/ tmp /δ/ people10m”)
df。写。格式(“δ”)。模式(“覆盖”)。选项(“userMetadata”,“overwritten-for-fixing-incorrect-data”)。保存(“/ tmp /δ/ people10m”)
表属性中存储自定义标记
你可以存储自己的元数据表属性使用TBLPROPERTIES
在创建
和改变
。然后,您可以显示
元数据。例如:
改变表默认的。people10m集TBLPROPERTIES(“部门”=“会计”,“delta.appendOnly”=“真正的”);——显示表的属性。显示TBLPROPERTIES默认的。people10m;——显示“部门”表属性。显示TBLPROPERTIES默认的。people10m(“部门”);
TBLPROPERTIES
被存储为δ表元数据的一部分。你不能定义新的TBLPROPERTIES
在一个创建
声明如果δ表已经存在于一个给定的位置。
此外,定制的行为和性能,支持某些湖δ表属性:
在三角洲表块删除和更新:
delta.appendOnly = true
。配置时间旅行保留属性:
delta.logRetentionDuration = < interval-string >
和delta.deletedFileRetentionDuration = < interval-string >
。有关详细信息,请参见配置数据保留时间旅行。配置收集统计数据的列数:
delta.dataSkippingNumIndexedCols = n
。这个属性表示统计数据收集的作家只有第一n
表中的列。也跳过代码忽略了统计数据以外的任何列这一列索引。这个属性将只影响新写入的数据。
随机文件的前缀,以避免热点在S3中元数据:
delta.randomizeFilePrefixes = true
。需要大量的表(成千上万的每秒请求)的快速读/写操作,我们强烈建议奉献一个S3 bucket表(定位表的根源桶),并使随机文件前缀来得到最好的体验。
请注意
修改一个增量表属性是一个写操作,将与其他冲突并发写操作,导致他们失败。砖建议您修改一个表的属性只有当没有并发写操作放在桌子上。
你也可以设置三角洲。
前缀的属性在第一次提交到三角洲表使用火花配置。例如,初始化一个增量表的属性delta.appendOnly = true
,设置火花配置spark.databricks.delta.properties.defaults.appendOnly
来真正的
。例如:
火花。sql(“设置spark.databricks.delta.properties.defaults.appendOnly = true”)
火花。相依。集(“spark.databricks.delta.properties.defaults.appendOnly”,“真正的”)
火花。相依。集(“spark.databricks.delta.properties.defaults.appendOnly”,“真正的”)
看到也三角洲表属性引用。