FileNotFoundException-在delta_log中缺少checkpoint.parquet

问题描述 投票:0回答:1

我每天都有一些工作要做。不幸的是,其中一些有时会随机抛出异常:

java.io.FileNotFoundException: _delta_log/00000000000000000070.checkpoint.parquet

问题是此错误不是恒定的,有时作业会抛出该错误,有时并非如此,寻找原因就好像在大海捞针。

几个月前,我遇到了类似的问题,我发现将Databricks Runtime Version更新到5.5可以解决此问题。当然,它可以解决,但是几个月后错误又回来了,我找不到如何预防的合理解决方案。

有人必须强行解决这个问题并找到解决方法,如何防止它发生?

我将非常感谢您的任何建议和帮助!

apache-spark pyspark pyspark-sql databricks pyspark-dataframes
1个回答
0
投票

这似乎是Databricks已知的暂时性问题,Databricks团队已意识到这一点。

这是Databricks团队建议的解决方法:

禁用日志清除。例如,

    %sql
ALTER TABLE 
SET TBLPROPERTIES (
  'delta.enableExpiredLogCleanup' = 'false',
)

确保在2天内生成2个以上的检查点(换句话说,超过30个提交)。

增加Delta表属性“ checkpointRetentionDuration”并确保在此新的持续时间内,创建了2个以上的检查点(换句话说,超过30个提交)。例如,

%sql
ALTER TABLE 
SET TBLPROPERTIES (
  'delta.checkpointRetentionDuration' = '7 days',
)

Databricks团队提供的修复程序是为了确保您不会再遇到此问题。 Databricks团队正在为此进行永久性修复。

© www.soinside.com 2019 - 2024. All rights reserved.