У нас есть потоковое приложение, реализованное с использованием Spark Structured Streaming.который пытается прочитать данные из тем 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)
не удалось решить эту проблему.
толькоОдно решение, которое я нашел, - это удаление файлов местоположения контрольных точек, которые будут считывать тему / данные с начала, если мы снова запустим приложение, что не представляется возможным решением для производственного приложения.
любой может сказать какое-то решение для этогоошибка, поэтому мне не нужно удалять контрольную точку, и я могу продолжить с того места, где произошел последний запуск.
Удаление местоположения контрольной точки, которое запустит приложение с начала и прочитает все предыдущие данные.
пример кода приложения:
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
необходимо решение без удаления места проверки чека