丰富三角洲湖与定制元数据表

除了表注释,您可以使用字段三角洲湖事务日志将自定义标记添加到表或个人提交的消息。

设置用户定义元数据提交

您可以指定用户定义的字符串作为元数据提交由这些操作,或者使用DataFrameWriter选项userMetadata或SparkSession配置spark.databricks.delta.commitInfo.userMetadata。如果他们被指定,那么选择偏好。这个定义的元数据是可读的描述历史操作。

火花δcommitInfouserMetadata=覆盖- - - - - -- - - - - -修复- - - - - -不正确的- - - - - -数据插入覆盖默认的people10m选择*更多人
df格式(“δ”)\模式(“覆盖”)\选项(“userMetadata”,“overwritten-for-fixing-incorrect-data”)\保存(“/ tmp /δ/ people10m”)
df格式(“δ”)模式(“覆盖”)选项(“userMetadata”,“overwritten-for-fixing-incorrect-data”)保存(“/ tmp /δ/ people10m”)

表属性中存储自定义标记

你可以存储自己的元数据表属性使用TBLPROPERTIES创建改变。然后,您可以显示元数据。例如:

改变默认的people10mTBLPROPERTIES(“部门”=“会计”,“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”,“真正的”)

看到也三角洲表属性引用

探索表元数据

三角洲湖支持显示(分区|列)描述。看到显示分区,显示列,描述表