刪除未使用的數據文件與真空
您可以刪除數據文件不再引用的三角洲表保留閾值以上的運行真空
命令在桌子上。運行真空
定期對成本和遵從性很重要,因為以下注意事項:
刪除未使用的數據文件雲存儲成本降低。
數據文件被
真空
可能包含已修改或刪除記錄。永久刪除這些文件從雲存儲確保這些記錄不再訪問。
數據文件的默認保留閾值後運行真空
是7天。要改變這種行為,明白了配置數據保留時間旅行的查詢。
一些三角洲湖功能使用元數據文件將數據標記為刪除而不是重寫數據文件。您可以使用REORG表…應用(清洗)
提交這些刪除和重寫數據文件。看到清洗僅元數據刪除重寫力數據。
重要的
在磚運行時的13.2及以上,
真空
語義與統一目錄管理表淺克隆不同於其他三角洲表。看到真空和統一目錄淺克隆。真空
從目錄中刪除所有文件不是由三角洲湖,忽略目錄開始_
。如果你儲存額外的元數據是結構化流檢查站在三角洲表目錄,使用目錄名稱等_checkpoints
。數據更改數據提要是由三角洲湖和刪除管理
真空
。看到使用三角洲湖變化數據以磚。
查詢表版本的能力超過保存期丟失後運行
真空
。日誌文件後自動刪除和異步檢查點操作和不受
真空
。雖然日誌文件的默認的保持期是30天,運行真空
桌子上刪除時間旅行所需的數據文件。
請注意
當啟用磁盤緩存時,一個集群可能包含數據從拚花已被刪除的文件真空
。因此,它可能會查詢以前的表的數據版本的文件已經被刪除。重新啟動集群將刪除緩存數據。看到配置磁盤高速緩存。
例如語法真空
真空eventsTable——真空不是必需的文件版本比默認的保存期真空“/數據/事件”在基於路徑表——真空文件真空δ。' /數據/事件/ '真空δ。' /數據/事件/ '保留One hundred.小時——真空所需的文件不超過100小時的舊版本真空eventsTable幹運行——做排練要刪除文件的列表
火花的SQL語法細節,請參閱真空。
看到三角洲湖API文檔Scala的Java、Python語法細節。
清洗僅元數據刪除重寫力數據
的REORG表
命令提供了應用(清洗)
語法改寫數據應用軟刪除。軟刪除不重寫或刪除數據文件的數據,而是使用元數據文件表明,一些數據值已經改變了。看到REORG表。
在三角洲湖創建軟刪除的操作包括以下:
啟用軟刪除後,舊的數據可能仍在表的當前文件即使在數據已經被刪除或更新。身體從表中刪除這些數據,請完成以下步驟:
運行
REORG表…應用(清洗)
。這樣做之後,舊的數據表中不再存在當前的文件,但它仍然是在舊的文件用於時間旅行。運行
真空
刪除這些舊文件。
REORG表
創建一個新版本的表操作完成。曆史上所有表版本之前,這筆交易是指舊的數據文件。從概念上講,這是相似的優化
命令,數據文件重寫盡管當前表中的數據版本保持一致。
重要的
數據文件時隻刪除文件過期的根據真空
保存期。這意味著真空
必須完成後延遲REORG
這舊的文件已經過期。的停留時間真空
可以減少縮短所需的等待時間,減少成本的最大曆史留存。
集群真空需要什麼尺寸的?
選擇正確的集群大小真空
,它有助於理解操作發生在兩個階段:
這份工作首先使用所有可用的執行器節點並行在源目錄列表文件。這個列表是相對於目前所有文件中引用三角洲事務日誌來識別文件被刪除。司機都閑置在這段時間。
司機然後問題刪除命令對每個文件被刪除。文件刪除是司機才操作,這意味著所有操作發生在單個節點,而工人空閑節點。
優化成本和性能,磚推薦以下,特別是對於長期真空工作:
在一個集群上運行真空與伸縮設置為1 - 4工人,每個工人在8核。
8 - 32之間選擇一個司機與核心。提高司機的大小以避免出現內存不足(伯父)錯誤。
如果真空
操作是定期刪除超過1萬文件或接管30分鍾的處理時間,您可能想要提高司機的大小或工人的數量。
如果你發現經濟放緩出現在識別文件被刪除,添加更多的工作節點。如果經濟放緩出現刪除命令運行時,試著增加司機的大小。
你應該運行真空的頻率?
磚建議定期運行真空
所有表,以減少多餘的雲數據存儲成本。真空的默認保留閾值是7天。設定更高的門檻讓你獲得更大的曆史表,但增加了數據文件存儲的數量,因此,從雲提供商帶來更大的存儲成本。