簡體   English   中英

Kafka 消費者屬性從一個主題開始

[英]Kafka consumer properties from the beginning in a topic

我正在嘗試編寫一個 Kafka 消費者從一開始就使用這些消息。 我可以使用 --from-beginning 從控制台消費者做同樣的事情

但我在 JAVA API 中找不到相應的屬性。

 def consumeFromKafka(topic: String) = {
    val props = new Properties()
    props.put("bootstrap.servers", "localhost:9092")
    props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer")
    props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer")
    props.put("auto.offset.reset", "latest")
    props.put("group.id", "consumer-group")
    val consumer: KafkaConsumer[String, String] = new KafkaConsumer[String, String](props)
    consumer.subscribe(util.Arrays.asList(topic))
    while (true) {
      val record = consumer.poll(1000).asScala
      for (data <- record.iterator)
        println(data.value())
    }
  }

還有一個關於 Avro 消息的 value.deserializer 應該是什么的問題?

kafka-console-consumer中使用的影響earliest --from-beginning可以通過將auto.offset.reset設置為 early 來實現。 與唯一/新group.id結合使用具有相同的效果。

基本上,您想創建一個新的消費者組(通過group.id ),並且由於 Kafka Broker 不知道該消費者組,它會根據配置auto.offset.reset自動重置該消費者組的偏移量。 當設置為earliest時,它將從頭開始。 當設置為latest時,它會等待新的傳入數據。

關於 Avro 反序列化, 可能會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM