从 Spark 结构化流读取增量文件时出错

2024-01-06

我们在 Spark 2.2 中使用 Spark 结构化流。 在某些时候,流崩溃,当它开始时,它尝试从检查点读取并失败:

java.lang.IllegalStateException: Error reading delta file /XYZ/Checkpoint/myApp_V13-enrichment/state/0/7/132792.delta of HDFSStateStoreProvider[id = (op=0, part=7), dir = /XYZ/Checkpoint/myApp_V13/state/0/7]: /myApp/Checkpoint/myApp-V13/state/0/7/132792.delta does not exist

Caused by: java.io.FileNotFoundException: File does not exist: /mcspace/myApp/Checkpoint/myApp/state/0/7/132792.delta

两个错误被打开:

  1. 无法从检查点位置恢复 Spark 结构化流作业 https://issues.apache.org/jira/browse/SPARK-22262

  2. 检查点到 HDFS 时出错 https://issues.apache.org/jira/browse/SPARK-20894

看来这个bug即使在spark 2.3中也没有得到解决

我们寻找一种方法来找出丢失的增量文件,以便在流应用程序启动时搜索以前的增量文件。

我们发现的唯一绕过是为第二篇文章写的评论:删除检查点位置以及受影响的 writeStream 输出文件夹中的 _spark_metadata 文件夹有助于解决该问题

有没有办法让流应用程序从最后一个存在的增量文件开始?或者是删除检查点中所有增量文件的唯一方法?因为这会导致该目录中所有增量文件的数据丢失


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Spark 结构化流读取增量文件时出错 的相关文章

随机推荐