KAFKA消费者在已知何时从主题读取数据



我可以知道Kafka消费者是否可以在何时读取特定记录,直到已知主题分区的偏移。

用例中有我的火花流应用程序中的用例,在这种情况下,我只想阅读错过的数据。我正在存储主题详细信息,即分区和偏移。

有人可以让我知道是否可以在偏移时从主题中阅读这一点。

如果要处理一组消息集,这是通过在火花流中启动和结束偏移来定义的,您可以使用以下代码:

val kafkaParams = Map[String, Object](
  "bootstrap.servers" -> "localhost:9092",
  "key.deserializer" -> classOf[StringDeserializer],
  "value.deserializer" -> classOf[StringDeserializer],
  "group.id" -> "groupId"
)
val offsetRanges = Array(
  OffsetRange("input", 0, 2, 4) // <-- topic name, partition number, fromOffset, untilOffset
)
val sparkContext: SparkContext = ???
val rdd = KafkaUtils.createRDD(sparkContext, kafkaParams.asJava, offsetRanges, PreferConsistent)
// other proccessing and saving

可以找到有关集成Spark流和Kafka的更多详细信息:https://spark.apache.org/docs/2.4.0/streaming-kafka-0-10-integration.html

最新更新