我每天都有一些工作要做。不幸的是,其中一些有时会随机抛出异常:
java.io.FileNotFoundException: _delta_log/00000000000000000070.checkpoint.parquet
问题是此错误不是恒定的,有时作业会抛出该错误,有时并非如此,寻找原因就好像在大海捞针。
几个月前,我遇到了类似的问题,我发现将Databricks Runtime Version更新到5.5可以解决此问题。当然,它可以解决,但是几个月后错误又回来了,我找不到如何预防的合理解决方案。
有人必须强行解决这个问题并找到解决方法,如何防止它发生?
我将非常感谢您的任何建议和帮助!
这似乎是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团队正在为此进行永久性修复。