缺零保留结果数据丢失

databricks.delta.restDuration检验程序.启动并运行带保留零的真空以避免数据丢失

写由DD夏尔马

2022年10月7日

问题

数据添加到三角洲表上,但数据无警告即消失无明显的报错消息

因果

万事大吉spark.databricks.delta.retentionDurationCheck.enabled设为虚伪Vacoum配置保留0小时

sqlVACUM
          
           保留0小时
          

OR系统

sqlVACUM三角洲
          
           保留0小时
          

何时Vacoum配置保留0小时它可以删除非正吸尘版部分文件包括委托文件、非委托文件以及并行事务临时文件

考虑下示例时间轴 :

  • Vacoum01:17UTC100版启动
  • 数据文件命名 .snappy.parque
  • 101版验收时0点19分
  • Vacoum仍在运行中删除数据文件 .snappy.parque
  • Vacoum01:22UTC补全

举此例子Vacoum百版执行并删除所有添加到101版

求解

  • Databricks推荐设置Vacoum保留区间至少7天,因为同时阅读或写表者仍可使用老快照和未委托文件
  • 不设置spark.databricks.delta.retentionDurationCheck.enabled虚构Spark配置
  • if you do setspark.databricks.delta.retentionDurationCheck.enabledspark配置中虚选区间长比最长并行事务长 最长流可延后最新更新表

审核DatabricksVACUM文档AWS系统|休眠|GCP获取更多信息

文章有帮助吗