真空

適用於:檢查標記是的磚的SQL檢查標記是的磚運行時

刪除未使用的文件從一個表目錄。

請注意

這個命令是不同取決於你工作在三角洲或Apache火花表。

真空三角洲表

遞歸地真空目錄與三角洲表相關聯。真空從表中刪除所有文件目錄,並不是由三角洲,以及數據文件,不再在最新狀態的事務日誌表,保留閾值以上。真空將跳過所有目錄開始用下劃線(_),其中包括_delta_log。分區表列,始於一個下劃線是一個例外;真空掃描所有有效的分區包含在目標三角洲表。三角洲刪除表數據文件根據他們從三角洲被邏輯刪除的事務日誌+保留時間,不是他們修改存儲係統上的時間戳。默認閾值是7天。

在三角洲表、磚自動觸發真空操作。看到刪除未使用的數據文件與真空

如果你運行真空在三角洲的表,你失去的能力時間旅行回一個版本比指定的數據保留周期。

警告

建議您設置一個保留間隔至少7天,因為舊的快照和未提交的文件仍然可以使用並發讀者或作者。如果真空清理活動文件,並發的讀者可能會失敗,或者更糟的是,表時可以損壞真空刪除文件,尚未提交。你必須選擇一個時間間隔較長時間最長的並發事務和最長的時期,任何流可以落後於最新更新表。

三角洲湖有一個安全檢查防止你運行一個危險真空命令。在磚運行時,你一定沒有這個表上執行的操作,需要更長的時間比保留你計劃指定的時間間隔,你可以關掉這個安全檢查通過設置引發配置屬性spark.databricks.delta.retentionDurationCheck.enabled

真空table_name(保留全國礦工工會小時](運行]

參數

  • table_name

    識別現有的差值表。必須不包含一個名稱時間規範

  • 保留num小時

    保留閾值。

  • 排練

    返回一個列表的1000個文件被刪除。

真空non-Delta表

遞歸地真空目錄與non-Delta表和刪除未提交相關文件保留閾值以上。默認閾值是7天。

non-Delta表上,磚自動觸發真空數據寫操作。

語法

真空table_name(保留全國礦工工會小時]

參數

  • table_name

    標識一個現有表的名稱或路徑。

  • 保留num小時

    保留閾值。