Apache spark 从spark结构化流媒体读取增量文件时出错

Apache spark 从spark结构化流媒体读取增量文件时出错,apache-spark,spark-structured-streaming,Apache Spark,Spark Structured Streaming,我们在spark 2.2中使用spark结构化流媒体。 在某个点,流媒体崩溃,当它开始尝试从checkppoint读取时失败: java.lang.IllegalStateException:读取HDFSStateStoreProvider[id=(op=0,part=7),dir=/XYZ/Checkpoint/myApp_V13/state/0/7]的增量文件/XYZ/Checkpoint/myApp_V13-enriction/state/0/7/132792.delta时出错:/myAp

我们在spark 2.2中使用spark结构化流媒体。 在某个点,流媒体崩溃,当它开始尝试从checkppoint读取时失败:

java.lang.IllegalStateException:读取HDFSStateStoreProvider[id=(op=0,part=7),dir=/XYZ/Checkpoint/myApp_V13/state/0/7]的增量文件/XYZ/Checkpoint/myApp_V13-enriction/state/0/7/132792.delta时出错:/myApp/Checkpoint/myApp-V13/state/0/7/132792.delta不存在

原因:java.io.FileNotFoundException:文件不存在:/mcspace/myApp/Checkpoint/myApp/state/0/7/132792.delta

打开了两个bug:

(一)

(二)

似乎这个错误甚至在spark 2.3中也没有解决

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

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

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