Scala 卡夫卡消费品属性从一开始就是一个话题

Scala 卡夫卡消费品属性从一开始就是一个话题,scala,apache-kafka,kafka-consumer-api,avro,Scala,Apache Kafka,Kafka Consumer Api,Avro,我试图编写一个卡夫卡消费者,从一开始就使用这些信息。从一开始,我就可以在控制台消费者使用上做同样的事情 但是我在JavaAPI中找不到相应的属性 def consumeFromKafka(topic: String) = { val props = new Properties() props.put("bootstrap.servers", "localhost:9092") props.put("key.deserializer", "org.apache.kafk

我试图编写一个卡夫卡消费者,从一开始就使用这些信息。从一开始,我就可以在控制台消费者使用上做同样的事情

但是我在JavaAPI中找不到相应的属性

 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())
    }
  }
卡夫卡(主题:字符串)={ val props=新属性() props.put(“bootstrap.servers”,“localhost:9092”) put(“key.deserializer”、“org.apache.kafka.common.serialization.StringDeserializer”) put(“value.deserializer”、“org.apache.kafka.common.serialization.StringDeserializer”) 道具放置(“自动偏移重置”,“最新”) props.put(“group.id”,“consumer group”) val消费者:卡夫卡消费者[String,String]=新卡夫卡消费者[String,String](道具) consumer.subscribe(util.array.asList(主题)) while(true){ val记录=消费者。投票(1000)。协会 对于(数据)可通过将
auto.offset.reset
设置为
earlime
,并结合唯一/新的
group.id
来实现
卡夫卡控制台消费者使用的
从一开始就产生的影响

基本上,您希望创建一个新的消费者组(通过
Group.id
)由于Kafka Broker不知道该消费群体,它会根据配置
auto.offset.reset
自动重置该消费群体的偏移量。当设置为
earlime
时,它会从头开始。当设置为
latest
时,它会等待新的传入数据


关于Avro反序列化,这可能会有所帮助。

U Avro的Avro反序列化功能仅在Spark 2.4及以上版本中可用,如何在scala中进行反序列化而不是使用Spark。