增量表屬性引用

Delta Lake儲備Delta表屬性開始三角洲。.這些屬性可能具有特定的含義,並在設置這些屬性時影響行為。

默認表屬性

SparkSession中設置的Delta Lake配置將覆蓋會話中創建的新Delta Lake表的默認表屬性。SparkSession中使用的前綴與表屬性中使用的配置不同。

三角洲湖會議

SparkSession相依

三角洲。<設計>

spark.databricks.delta.properties.defaults。<設計>

例如,設置delta.appendOnly真正的屬性為會話中創建的所有新Delta Lake表,設置如下:

火花δ屬性違約appendOnly真正的

若要修改現有表的表屬性,請使用設置TBLPROPERTIES

Delta表屬性

可用的Delta表屬性包括:

財產

delta.appendOnly

真正的這個Delta表是隻能追加的。如果僅追加,則不能刪除現有記錄,也不能更新現有值。

看到增量表屬性引用

數據類型:布爾

默認值:

delta.autoOptimize.autoCompact

真正的為Delta Lake自動優化此Delta表的文件布局。

看到啟用自動優化

數據類型:布爾

默認值:(一)

delta.autoOptimize.optimizeWrite

真正的為Delta Lake在寫入期間自動優化此Delta表的文件布局。

看到啟用自動優化

數據類型:布爾

默認值:(一)

delta.checkpoint.writeStatsAsJson

真正的為Delta Lake編寫JSON格式的檢查點中的文件統計信息統計數據列。

看到管理檢查點中的列級統計信息

數據類型:布爾

默認值:真正的

delta.checkpoint.writeStatsAsStruct

真正的的結構格式將文件統計信息寫入檢查點stats_parsed列,並將分區值作為結構體寫入partitionValues_parsed

看到管理檢查點中的列級統計信息

數據類型:布爾

默認值:(一)

delta.columnMapping.mode

是否為使用不同名稱的Delta表列和對應的Parquet列啟用列映射。

看到使用Delta Lake列映射重命名和刪除列

數據類型:DeltaColumnMappingMode

默認值:沒有一個

delta.compatibility.symlinkFormatManifest.enabled

真正的為Delta Lake配置Delta表,以便對表的所有寫操作自動更新清單。

數據類型:布爾

默認值:

delta.dataSkippingNumIndexedCols

Delta Lake用於收集有關數據跳過的統計信息的列數。值為-1用於收集所有列的統計信息。更新此屬性不會再次自動收集統計信息;相反,它重新定義了Delta表的統計模式。具體來說,它改變了未來統計信息收集的行為(例如在追加和優化期間)以及數據跳過(例如忽略超出該數字的列統計信息,即使存在此類統計信息)。

看到數據跳躍與z順序索引三角洲湖

數據類型:Int

默認值:32

delta.deletedFileRetentionDuration

Delta Lake在物理刪除數據文件之前保持邏輯刪除數據文件的最短時間。這是為了防止壓縮或分區覆蓋後失效的讀取器失敗。

這個值應該足夠大,以確保:

  • 如果您運行,它將大於作業的最長可能持續時間真空當有並發讀取器或寫入器訪問Delta表時。

  • 如果運行從表中讀取數據的流查詢,則該查詢停止的時間不會超過此值。否則,查詢可能無法重新啟動,因為它仍然必須讀取舊文件。

看到為時間旅行配置數據保留

數據類型:CalendarInterval

默認值:時間間隔1

delta.enableChangeDataFeed

真正的以啟用變更數據提要。

看到啟用變更數據提要

數據類型:布爾

默認值:

delta.isolationLevel

事務必須與並發事務所做的修改隔離的程度。

有效值為可序列化的而且WriteSerializable

看到數據庫上的隔離級別和寫入衝突

數據類型:字符串

默認值:WriteSerializable

delta.logRetentionDuration

Delta表的曆史記錄保存了多長時間。

每次寫入檢查點時,Delta Lake都會自動清理超過保留間隔的日誌項。如果將此屬性設置為足夠大的值,則會保留許多日誌條目。這不會影響性能,因為對日誌的操作是常數時間。對曆史記錄的操作是並行的,但隨著日誌大小的增加將變得更加昂貴。

看到為時間旅行配置數據保留

數據類型:CalendarInterval

默認值:時間間隔30.

delta.minReaderVersion

允許讀取此增量表的讀取器所需的最小協議讀取器版本。

看到Databricks如何管理Delta Lake功能兼容性?

數據類型:Int

默認值:1

delta.minWriterVersion

允許寫入此增量表的寫入器所需的最低協議寫入器版本。

看到Databricks如何管理Delta Lake功能兼容性?

數據類型:Int

默認值:2

delta.randomizeFilePrefixes

真正的為文件路徑生成一個隨機前綴,而不是分區信息。

例如,當Delta Lake需要發送非常大量的Amazon S3調用以更好地跨S3服務器進行分區時,這可能會提高Amazon S3的性能。

看到增量表屬性引用

數據類型:布爾

默認值:

delta.randomPrefixLength

delta.randomizeFilePrefixes設置為真正的,即Delta Lake為隨機前綴生成的字符數。

看到增量表屬性引用

數據類型:Int

默認值:2

delta.setTransactionRetentionDuration

新快照保留事務標識符的最短時間(例如,SetTransactions).當一個新快照看到一個事務標識符大於或等於此屬性指定的持續時間時,快照認為它已經過期並忽略它。的SetTransaction標識符用於使寫操作冪等。看到在foreachBatch中寫入冪等表獲取詳細信息。

數據類型:CalendarInterval

默認值:(一)

delta.targetFileSize

用於文件調優的目標文件大小(字節或更高單位)。例如,104857600(字節)或100 mb

看到配置Delta Lake以控製數據文件大小

數據類型:字符串

默認值:(一)

delta.tuneFileSizesForRewrites

真正的對於Delta表上的所有數據布局優化操作,始終使用較小的文件大小。

永遠不要調優到更小的文件大小,也就是說,防止自動檢測被激活。

看到配置Delta Lake以控製數據文件大小

數據類型:布爾

默認值:(一)