取消
顯示的結果
而不是尋找
你的意思是:

無法對三角洲進行真空表

EDDatabricks
貢獻者

我們有一個表包含記錄從過去2 - 3年。表的大小大約是7.5 TBytes(670億行)。

因為有定期更新曆史記錄和日常優化的這個表,我們已經嚐試多次提到的表上執行手動真空操作。

我們已經嚐試以下沒有成功:

  • 小吸塵器2 - 3天的間隔
    • 文件數量減少
    • 類似的記憶
    • 沒有成功完成或記憶明顯減少
  • 優化&真空
    • 整個表優化首先
    • 在優化真空表
    • 沒有成功完成或記憶明顯減少
  • 真空好幾天/周
    • 運行時的多個天(> 3周)
    • 文件數量減少(6米到500 k文件)
    • 仍然沒有實際內存減少觀察(> 7.5 TBytes)
    • 沒有成功完成

在相應的文件係統,我們的分析> 1 tbyte表的數據是_delta_log版本跟蹤。

我們的問題是:

  1. 日誌大小是否合理或有任何問題的狀態表
  2. 如果有任何方式來估計所需的實際時間執行真空操作(它正變得越來越昂貴的嚐試如此長的操作)
  3. 為什麼沒有顯著減少內存(之前與磚支持小組的討論表明,甚至失敗的操作應該有影響/ azure存儲賬戶我們看到巨大的成本與此表)
  4. 最重要的是:沒有成功的真空操作可能影響查詢的性能在這張桌子嗎?
  5. 有任何與此相關的最佳實踐操作或其他更有效的方式嗎?(如真空的分區表)

親切的問候

1接受解決方案

接受的解決方案

Lakshay
尊敬的貢獻者三世
尊敬的貢獻者三世

很難解釋為什麼這項工作一直沒有看運行日誌。然而,我們建議避免任何並發運行的同時,他們將爭奪相同的帶寬。這可能阻礙真空的性能。

您可以參考這個kb的文檔與真空命令相關的最佳實踐:

https://kb.www.eheci.com/en_US/delta/vacuum-best-practices-on-delta-lake

在原帖子查看解決方案

4回複4

Lakshay
尊敬的貢獻者三世
尊敬的貢獻者三世

嗨@EDDatabricks EDDatabricks,讓我試著回答所有的問題:

  1. 日誌不符合邏輯。這是日誌的實際大小。如果_delta_log的規模很大,那是因為沒有。δ版本表中創建並保留。默認情況下,三角洲日誌rentention 30天。你可以考慮降低這個沒有。但這將影響能夠穿越時間以前的版本。
  2. 真空取決於所花的時間。表中存在的文件夾和文件。
  3. 真空隻刪除過期文件表中存在即不再引用的任何文件。如果沒有顯著減少,這意味著大多數的文件仍在使用的表。
  4. 在沒有真空的命令,有表中的多個文件。因此,運行select查詢,工作必須解析多個文件,這可以影響查詢的性能。你應該經常運行優化和真空命令放在桌子上。
  5. 真空命令應該經常運行在桌子上在運行真空查詢之前,你應該運行優化查詢放在桌子上。優化查詢壓縮數據,減少了沒有。表中文件的小文件合並到大文件。作為一個過程,它生成的文件真空命令可以用來刪除。

此外,除此之外,這裏有一些額外的見解從提供的信息:

表數據是7.5結核病和有500 k文件這意味著平均文件大小是25 MB非常少。我的理解是,你的表分區策略的產生非常小的分區不高效。

這是一個很好的練習定期運行優化和真空命令。但從提供的信息,看來你沒有運行真空命令在很長一段時間。為這裏有更多的工作要做真空和優化,最初要花更多的時間。但是一旦工作量減少,時間也會下降。

嗨@Lakshay戈埃爾,

謝謝你的見解和快速反應。所有提到的將被考慮。

我們還不清楚的一件事是為什麼真空命令不完整的甚至在運行多個星期的。通過網絡搜索,大多數的估計,在100 k的文件會被刪除,每天在運行命令。雖然我們可以觀察到這幾天(6米- > 500 k還原了幾天)命令繼續執行接下來的數周。

注意,這個表是一分鍾的基礎上更新新記錄和優化命令可能同時運行。有任何機會,我們可以在一個軟鎖由於不斷更新的狀態表和操作可能沒有完成?

根據我們的理解,不應該這樣,因為真空操作表的快照。我們的理解正確嗎?

再次感謝。

Lakshay
尊敬的貢獻者三世
尊敬的貢獻者三世

很難解釋為什麼這項工作一直沒有看運行日誌。然而,我們建議避免任何並發運行的同時,他們將爭奪相同的帶寬。這可能阻礙真空的性能。

您可以參考這個kb的文檔與真空命令相關的最佳實踐:

https://kb.www.eheci.com/en_US/delta/vacuum-best-practices-on-delta-lake

Vidula_Khanna
主持人
主持人

嗨@EDDatabricks EDDatabricks

謝謝你發布你的問題在我們的社區!我們很高興幫助你。

幫助我們為您提供最準確的信息,請您花一些時間來回顧反應和選擇一個最好的回答了你的問題嗎?

這也將有助於其他社區成員可能也有類似的問題在未來。謝謝你的參與,讓我們知道如果你需要任何進一步的援助!

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map