Spark Structured Streaming应用程序没有作业也没有阶段

时间:2018-04-04 19:06:22

标签: apache-spark apache-kafka spark-structured-streaming

我有一个简单的Spark Structured Streaming应用程序,它从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()

为什么UI没有显示任何作业/任务的任何想法?

No jobs for the application

No tasks and basically no activity

Query Progress

1 个答案:

答案 0 :(得分:5)

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

我保存数据的HDFS目录中 _spark_metadata 中的数据已损坏。

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