Scala 卡夫卡消费品属性从一开始就是一个话题
我试图编写一个卡夫卡消费者,从一开始就使用这些信息。从一开始,我就可以在控制台消费者使用上做同样的事情 但是我在JavaAPI中找不到相应的属性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
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。