Spark结构化流媒体应用程序没有工作,也没有阶段

And*_*ohn 4 apache-kafka apache-spark spark-structured-streaming

我有一个简单的Spark结构化流应用程序,它可以从Kafka读取并写入HDFS。如今,该应用神秘地停止了工作,没有任何更改或修改(它已经连续数周无故障运行)。

到目前为止,我已经观察到以下内容:

  • 应用没有活动,失败或已完成的任务
  • 应用界面未显示任何作业,也没有阶段
  • QueryProgress指示每个触发器0个输入行
  • QueryProgress指示已正确读取并提交了与Kafka的偏移量(这意味着数据实际上已经存在)
  • 数据确实在主题中可用(写入控制台可显示数据)

尽管如此,HDFS也不再写入任何内容。程式码片段:

val inputData = spark
.readStream.format("kafka")
.option("kafka.bootstrap.servers", bootstrap_servers)
.option("subscribe", topic-name-here")
.option("startingOffsets", "latest")
.option("failOnDataLoss", "false").load()

inputData.toDF()
.repartition(10)
.writeStream.format("parquet")
.option("checkpointLocation", "hdfs://...")
.option("path", "hdfs://...")
.outputMode(OutputMode.Append())
.trigger(Trigger.ProcessingTime("60 seconds"))
.start()
Run Code Online (Sandbox Code Playgroud)

用户界面为何不显示任何作业/任务的任何想法?

该应用没有职位

没有任务,基本上没有活动

查询进度

And*_*ohn 5

对于面临相同问题的任何人:我找到了罪魁祸首:

不知何故,我保存数据的HDFS目录中_spark_metadata中的数据已损坏。

解决方案是删除该目录并重新启动应用程序,从而重新创建目录。数据之后,数据开始流动。