Kafka——从特定offset开始消费

本文介绍如何使用Kafka消费者指定分区从头、从最新offset或特定offset开始消费消息,通过示例代码展示了不同消费策略的实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 指定分区从头消费
  • 指定分区从最新offset消费
  • 指定分区、offset消费

指定分区从头消费

package test.kafka.kafkaconsumer

import java.util.Properties
import java.{
   lang, util}

import org.apache.kafka.clients.consumer.{
   ConsumerRecord, ConsumerRecords, KafkaConsumer}
import org.apache.kafka.common.TopicPartition
import test.kafka.kafkaProperities

import scala.collection.JavaConversions._

object ConsumerSpecificOffsets {
   
  private val KAFKA_PROPERITIES = new kafkaProperities()
  def main(args: Array[String]): Unit = {
   
    val kakConPros: Properties = KAFKA_PROPERITIES.getKakConPros
    val consumer: KafkaConsumer[String, String] = new KafkaConsumer[String, String](kakConPros)
    consumer.subscribe(util.Arrays.asList(KAFKA_PROPERITIES.TOPIC))

    var assignment: scala.collection.Set[TopicPartition] = Set()
    // 在poll()方法内部执行分区分配逻辑,该循环确保分区已被分配
    // 当分区消息为0时进入此循环,如果不为0,则说明已经成功分配到了分区
    while (assignment.isEmpty) {
   
      consumer.poll(1000)
      // assignment()方法是用来获取消费者所分配到的分区消息的
      assignment = consumer.assignment</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值