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

三角洲表——減少時間旅行的存儲大小

elgeo
重視貢獻二世

你好!我試圖理解時間旅行特性。我看到用“曆史描述”命令,所有的交易曆史記錄的特定的表版本和時間戳。但是,我明白這占據了大量的存儲特別是每天更新一個表。有辦法刪除曆史或減少停留時間?什麼是最小和最大停留時間可以有時間旅行?我試著以下命令,但“曆史描述”沒有帶來不同的結果。

ALTER TABLE table_name

設置TBLPROPERTIES(δ。logRetentionDuration ' = '間隔1小時”、“delta.deletedFileRetentionDuration ' = '間隔1小時)

真空table_name

1接受解決方案

接受的解決方案

werners1
尊敬的貢獻者三世

您必須定義保留間隔時真空。

真空table_name[保留num小時]

還有一個幹運行選項。

你可以去0小時。刪除所有的曆史。最高價值我不知道,肯定30天是可能的,從不和更多測試。

在原帖子查看解決方案

3回複3

werners1
尊敬的貢獻者三世

你差不多了。從幫助頁麵:

三角洲湖有一個安全檢查防止你運行一個危險

真空命令。如果你確定沒有這個表上執行的操作,需要更長的時間比保留你計劃指定的時間間隔,你可以關掉這個安全檢查通過設置引發配置屬性

spark.databricks.delta.retentionDurationCheck.enabled為假。

另外:

建議您設置一個保留間隔至少7天,因為舊的快照和未提交的文件仍然可以使用並發讀者或作者。如果

真空清理活動文件,並發的讀者可能會失敗,或者更糟的是,表時可以損壞

真空刪除尚未提交的文件。你必須選擇一個時間間隔較長時間最長的並發事務和最長的時期,任何流可以落後於最新更新表。

elgeo
重視貢獻二世

謝謝@Werner Stinckens為你答複。但是我還沒有學會如何刪除曆史即使設置如下。曆史的行數是相同的運行時“曆史描述”。

設置spark.databricks.delta.retentionDurationCheck.enabled =假

我真正要做的是移除舊曆史從三角洲表記錄曆史。此外有最小和最大停留時間和時間旅行可以嗎?

werners1
尊敬的貢獻者三世

您必須定義保留間隔時真空。

真空table_name[保留num小時]

還有一個幹運行選項。

你可以去0小時。刪除所有的曆史。最高價值我不知道,肯定30天是可能的,從不和更多測試。

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

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

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

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

Baidu
map