从Kafka回放Offset Spark Structured Streaming

时间:2018-04-18 02:34:24

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

我正在使用spark结构化流媒体(2.2.1)来消费来自Kafka(0.10)的主题。

 val df = spark
      .readStream
      .format("kafka")
      .option("kafka.bootstrap.servers", fromKafkaServers)
      .option("subscribe", topicName)
      .option("startingOffset", "earliest")
      .load()

我的检查点位置设置在外部HDFS目录上。在某些情况下,我想重新启动流应用程序并从头开始使用数据。但是,即使我从HDFS目录中删除了所有检查点数据并重新提交了jar,Spark仍然可以找到我上次消耗的偏移并从那里恢复。偏移还存在于哪里?我怀疑它与Kafka Consumer Id有关。但是,我无法使用Spark Doc的spark结构流设置group.id,并且似乎订阅同一主题的所有应用程序都被分配给一个使用者组。如果我想要运行两个独立的流媒体作业订阅同一主题,该怎么办?

1 个答案:

答案 0 :(得分:2)

你有一个错字:)它的 startingOffsets