You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Databricks执行SparkSQL时Parquet CRC校验失败求助

解决Azure Databricks中Parquet CRC校验失败的问题

这个错误的核心原因是指定的Parquet文件损坏,CRC校验和验证不通过,导致Spark无法正常读取该文件,进而引发任务失败。以下是具体的解决步骤:

  • 定位损坏文件
    报错中明确指出了损坏文件的路径:
    abfss:REDACTED_LOCAL_PART@storageaccount.dfs.core.windows.net/database/database/table/part-00040-4d085581-b8f9-4ecd-a768-2d47ca48d3fb-c000.snappy.parquet
    登录Azure存储账户,在对应容器中找到该文件,尝试手动下载并打开,确认文件是否确实损坏。

  • 临时跳过损坏文件执行任务
    如果可以接受丢失该文件中的数据,可通过配置让Spark忽略损坏文件:

    SET spark.sql.files.ignoreCorruptFiles = true;
    SET spark.sql.files.ignoreMissingFiles = true;
    

    执行完上述配置后,重新运行你的CREATE TABLE语句即可继续完成任务。

  • 修复损坏文件(若数据重要)

    1. 检查Azure存储账户是否开启了快照或版本控制功能,若有,恢复该文件的历史版本替换损坏文件。
    2. 如果该文件是由之前的ETL任务生成的,重新运行对应的生成任务,用新生成的完整文件替换损坏的文件。
  • 预防后续问题

    • 确保Databricks集群与Azure存储账户之间的网络连接稳定,避免文件写入过程中中断。
    • 定期对重要表执行数据完整性校验,例如:
      ANALYZE TABLE db.tbl1 COMPUTE STATISTICS;
      
    • 开启Azure存储的软删除和版本控制功能,为文件损坏后的恢复提供保障。

内容的提问来源于stack exchange,提问作者Yatharth Kaushik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 20:10:53