豐富三角洲湖與定製元數據表
除了表注釋,您可以使用字段三角洲湖事務日誌將自定義標記添加到表或個人提交的消息。
設置用戶定義元數據提交
您可以指定用戶定義的字符串作為元數據提交由這些操作,或者使用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
表中的列。也跳過代碼忽略了統計數據以外的任何列這一列索引。這個屬性將隻影響新寫入的數據。
請注意
修改一個增量表屬性是一個寫操作,將與其他衝突並發寫操作,導致他們失敗。磚建議您修改一個表的屬性隻有當沒有並發寫操作放在桌子上。
你也可以設置三角洲。
前綴的屬性在第一次提交到三角洲表使用火花配置。例如,初始化一個增量表的屬性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”,“真正的”)
看到也三角洲表屬性引用。