AWS順便說一下,如果這很重要。我們有一個舊的生產表,一直在後台運行了幾年,總是自動最優化和auto-compaction關閉。從那時起,它寫了很多小文件(每小時10000 ~ 100 kb)。
同時_delta_log文件夾~ 170 tb,主要是文件名稱的* * * .checkpoint。* * *。拚花”,它創造了我們每次寫入表(每小時的批處理作業,檢查點~每小時50 gb)。所以我想擺脫170 tb,理想也清理/優化很多小文件。(我們並不真的在乎時間旅行表)
我試著設置的三角洲。logRetentionDuration”30天,運行“真空”,清理幹淨一點,但仍有一係列的檢查站_delta_log文件夾中6個月大。但是我仍然想擺脫(幾乎)所有。
我試著運行優化x, utc_date = ' 2020-01-01 '(數據分區在utc_date)一天的數據,但它花了半個小時,推斷運行它在整個表將花費數周時間……
我也嚐試過一天的數據複製到一個新表,快得多(每天1 - 2分鍾),導致我想一個很好的選擇是將所有數據複製到一個新表。
總的來說,你認為是最好的/最有效的方法解決這個表,和處理這樣一個炸毀δ日誌?
我就去複製。我就去快速解決方案:設置一個工作副本運行一天,然後優化分區,然後執行下一個工作參數日期+ 1天。在未來,你可以設置晚上工作運行優化和真空。
數據+人工智能峰會上,提到,它將設置一個小數量的檢查點但我不認為它(所以通常低於10提交)。
謝謝!我們確實解決了將數據複製到一個新表!
真空不最初工作的原因是因為我們沒有設置“三角洲。logRetentionDuration ' ', 14天並運行真空設置後,舊的日誌被清理幹淨。
新表我們設置autooptimize和autocompaction,和一切都看上去不錯(雖然複製確實需要幾天,因為我們有很多文件)