小编Azi*_*gda的帖子

压缩批处理9结构化流错误时_spark_metadata / 0不存在

我们有使用Spark结构化流实现的流应用程序。它将尝试从kafka主题中读取数据并将其写入HDFS位置。

有时应用程序无法给出错误:

_spark_metadata/0 doesn't exist while compacting batch 9

java.lang.IllegalStateException: history/1523305060336/_spark_metadata/9.compact doesn't exist when compacting batch 19 (compactInterval: 10)
Run Code Online (Sandbox Code Playgroud)

无法解决此问题。

我发现的唯一解决方案是删除检查点位置文件,如果再次运行该应用程序,它将从头开始读取主题/数据,这对于生产应用程序而言不是可行的解决方案。

谁能告诉这个错误的解决方案,所以我不必删除检查点,并且我可以从上次运行失败的地方继续。

删除检查点位置,它将从头开始启动应用程序并读取所有先前的数据。

应用程序示例代码:

spark.
readStream.
format("kafka")
.option("kafka.bootstrap.servers", <server list>)
.option("subscribe", <topic>)
.load()

 spark.
 writeStream.
 format("csv").
 option("format", "append").
 option("path",hdfsPath).
 option("checkpointlocation","")
 .outputmode(append).start
Run Code Online (Sandbox Code Playgroud)

需要解决方案而不删除检查指示位置

scala apache-kafka apache-spark spark-structured-streaming

5
推荐指数
2
解决办法
222
查看次数