【问题标题】:Clear offsets spark structured streaming from kafka清除偏移量激发来自 kafka 的结构化流
【发布时间】:2020-10-04 09:59:47
【问题描述】:

当我测试时,我的代码如下。

    .format("kafka")
    .option("kafka.bootstrap.servers","...")
    .option("subscribe","...")
    .option("startingOffsets", "earliest")
//    .option("startingOffsets", "latest")
    .load()

但是当我设置 .option("startingOffsets", "latest") 时,恢复总是会从查询停止的地方开始。 如何让.option("startingOffsets", "latest")生效?

ps:我尝试删除检查点文件,但没有成功

【问题讨论】:

  • 想详细说明 _“但没用”?究竟是什么不起作用?我不明白这个问题:(
  • @JacekLaskowski 我的意思是,我想删除检查点文件以让结构化流从 latest 读取 kafka 数据,但是当我删除文件时它不起作用。
  • 但是有效是因为数据本身有问题
  • “数据本身的问题”是什么?这不是主要问题吗?

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


【解决方案1】:

请参考文档

https://spark.apache.org/docs/2.2.0/structured-streaming-kafka-integration.html

查询开始时的起点,“earliest”是从最早的偏移量开始,“latest”是从最新的偏移量开始,或者是一个 JSON 字符串,它指定了每个 TopicPartition 的起始偏移量。在 JSON 中,-2 作为偏移量可用于表示最早,-1 表示最新。 注意:对于批量查询,最新的(隐式或在 JSON 中使用 -1)是不允许的。对于流式查询,这仅适用于启动新查询时,并且恢复将始终从查询停止的位置开始。查询期间新发现的分区将最早开始。

对于流式查询,这仅适用于新查询开始时,并且恢复将始终从查询停止的地方开始。查询期间新发现的分区将最早开始

【讨论】:

  • 感谢您的快速回复。当我删除检查点文件时,它实际上是有效的,数据本身有问题。
猜你喜欢
  • 2021-06-12
  • 2017-09-25
  • 2018-09-28
  • 2019-10-03
  • 1970-01-01
  • 2018-05-12
  • 1970-01-01
  • 2019-07-29
  • 1970-01-01
相关资源
最近更新 更多