SparkException:作业中止

SparkException: Job aborted

原因:org.apache.spark.SparkException:作业因阶段失败而中止:阶段 76.0 中的任务 5 失败 4 次,最近的失败:阶段 76.0 中的任务 5.3 丢失 (TID 2334) (10.139.64.5 执行者 6 ): com.databricks.sql.io.FileReadException: 读取文件时出错 基础文件可能已更新。您可以通过 SQL 中的 运行 'REFRESH TABLE tableName' 命令或通过重新创建所涉及的 Dataset/DataFrame 显式使 Spark 中的缓存无效。如果 Delta 缓存过时或底层文件已被删除,您可以通过重启集群手动使 Delta 缓存失效。

您可以尝试两种方法来解决此错误 –

  1. Refresh table

使 Apache Spark 缓存的缓存条目无效,其中包括给定 table 或视图的数据和元数据。当再次执行缓存的 table 或与其关联的查询时,将以惰性方式填充无效的缓存。

REFRESH [TABLE] table_name
  1. 手动重启集群。

除了什么答案 AbhishekKhandave-MT 建议您可以尝试明确修复 table:

FSCK REPAIR TABLE delta.`path/to/delta`

这也修复了 table 的基础文件实际上已更改但未反映在“_delta_log”事务日志中的情况。