真空
適用於:磚的SQL磚運行時
從表目錄中刪除未使用的文件。
請注意
這個命令的工作方式取決於您使用的是Delta還是Apache Spark表。
抽真空Delta表(Delta Lake on Databricks)
遞歸地抽取與Delta表關聯的目錄。真空
從表目錄中刪除不受Delta管理的所有文件,以及不再處於表事務日誌的最新狀態且超過保留閾值的數據文件。真空
將跳過以下劃線開頭的所有目錄(_
),其中包括_delta_log
.在以下劃線開頭的列上劃分表是該規則的一個例外;真空
掃描目標Delta表中包含的所有有效分區。Delta表數據文件的刪除是根據它們從Delta事務日誌中邏輯刪除的時間加上保留時間,而不是它們在存儲係統上的修改時間戳。默認閾值為7天。
關於Delta表,Databricks不自動觸發真空
操作。看到用吸塵器清除未使用的數據文件.
如果你跑了真空
在Delta表上,你失去了時間旅行返回到比指定的數據保留期更早的版本。
警告
建議您將保留間隔設置為至少7天,因為舊的快照和未提交的文件仍然可以被並發的表讀寫器使用。如果真空
清理活動文件,並發讀取器可能會失敗,更糟糕的是,當真空
刪除尚未提交的文件。您必須選擇一個間隔,該間隔要長於運行的最長並發事務,以及任何流可以滯後於表的最新更新的最長時間。
三角洲湖有一個安全檢查,以防止您運行危險真空
命令。在Databricks運行時中,如果您確定在此表上執行的操作所花費的時間沒有超過計劃指定的保留間隔,則可以通過設置Spark配置屬性關閉此安全檢查spark.databricks.delta.retentionDurationCheck.enabled
來假
.
真空table_name[保留全國礦工工會小時][幹運行]
參數
標識現有的Delta表。名稱中不能包含時間規範.
保留num HOURS
保留閾值。
排練
返回一個最多包含1000個要刪除文件的列表。