我們有一個表包含記錄從過去2 - 3年。表的大小大約是7.5 TBytes(670億行)。
因為有定期更新曆史記錄和日常優化的這個表,我們已經嚐試多次提到的表上執行手動真空操作。
我們已經嚐試以下沒有成功:
在相應的文件係統,我們的分析> 1 tbyte表的數據是_delta_log版本跟蹤。
我們的問題是:
親切的問候
嗨@EDDatabricks EDDatabricks,讓我試著回答所有的問題:
此外,除此之外,這裏有一些額外的見解從提供的信息:
表數據是7.5結核病和有500 k文件這意味著平均文件大小是25 MB非常少。我的理解是,你的表分區策略的產生非常小的分區不高效。
這是一個很好的練習定期運行優化和真空命令。但從提供的信息,看來你沒有運行真空命令在很長一段時間。為這裏有更多的工作要做真空和優化,最初要花更多的時間。但是一旦工作量減少,時間也會下降。
嗨@Lakshay戈埃爾,
謝謝你的見解和快速反應。所有提到的將被考慮。
我們還不清楚的一件事是為什麼真空命令不完整的甚至在運行多個星期的。通過網絡搜索,大多數的估計,在100 k的文件會被刪除,每天在運行命令。雖然我們可以觀察到這幾天(6米- > 500 k還原了幾天)命令繼續執行接下來的數周。
注意,這個表是一分鍾的基礎上更新新記錄和優化命令可能同時運行。有任何機會,我們可以在一個軟鎖由於不斷更新的狀態表和操作可能沒有完成?
根據我們的理解,不應該這樣,因為真空操作表的快照。我們的理解正確嗎?
再次感謝。