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

DeltaFileNotFoundException在多集群的衝突

ammarchalifah
新的因素

我有幾個平行數據管道運行在不同的氣流熟練的技藝。所有這些選擇器在一個專用的管道執行兩個辯證行為療法磚集群:其中一個是一種常見的選擇器中執行所有的裝飾邊。這個選擇器包括一個在印度生物技術部測試定義的。

想象這個設置:

- - - - - - - - - - -氣流

> DAG答:

- - - - - - >印度生物技術部運行模型

- - - - - - >印度生物技術部測試常見的模型

> DAG B:

- - - - - - >印度生物技術部運行模型B

- - - - - - >印度生物技術部測試常見的模型

然而,現在我麵臨一個錯誤在印度生物技術部測試常見模型的階段。DAG & DAG B使用不同的集群,但都與相同的背景模型和對象。我收到這個錯誤:

com.databricks.sql.transaction.tahoe。DeltaFileNotFoundException: s3: / / s3 bucket / common_model_test_name / _delta_log / 00000000000000000000。json:無法重建狀態在版本2的事務日誌截斷由於手動刪除或日誌保留政策(δ。logRetentionDuration = 30天)和檢查點保留政策(δ。checkpointRetentionDuration = 2天)

我不知道如何解決這個問題。博客我看告訴我我應該清楚δ日誌緩存,但我不知道如何去做,如果我沒有訪問集群。有人能幫助我去理解發生了什麼以及如何解決這個問題?

謝謝你!

1回複1

匿名
不適用

@Ammar見圖:

你看到的錯誤消息的三角洲湖事務日誌表明,公共模型的測試表已被截斷或刪除,手動或由於保留政策設定在您的集群。這可能發生,如果日誌太大或如果它已經存在了太久。

為了解決這個問題,你可以嚐試以下步驟:

  1. 確認三角洲日誌截斷或刪除。你可以通過檢查集群日誌或者運行一個查詢公共模型的測試表,看它是否失敗同樣的錯誤消息。如果它已被刪除,您將需要重新創建表並重新加載數據。
  2. 如果δ日誌沒有被刪除,你可以試著清理δ日誌緩存磚筆記本通過運行下麵的命令:
% sql清除緩存

這將清除所有三角洲表的緩存狀態在當前集群。如果你沒有訪問集群,您可能需要問問你的磚管理員運行此命令。

3)如果清理緩存不起作用,你可以嚐試設置為δ日誌和檢查點文件保留政策持續時間更長,這樣他們就不會被刪除前管道有機會運行。你可以通過設置以下配置選項在磚集群:

spark.databricks.delta.retentionDurationCheck.enabled = true spark.databricks.delta.retentionDurationCheck.intervalHours = 1 spark.databricks.delta.logRetentionDuration =“30天”spark.databricks.delta.checkpointRetentionDuration =“2天”

4)這將使保留時間檢查,這將提醒你當δ日誌或檢查點文件將被刪除由於保留政策。然後您可以調整政策是必要的,以確保文件保留更長一段時間。

我希望這可以幫助你解決你的問題!

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

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

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

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

Baidu
map