????????scan.startup.mode
是 Flink 中用于设置消费 Kafka topic 数据的起始 offset 的配置参数之一。
scan.startup.mode
可以设置为以下几种模式:
earliest-offset
:从最早的 offset 开始消费数据。latest-offset
:从最新的 offset 开始消费数据。group-offsets
:从消费者组的 offset 开始消费数据。timestamp
:根据指定的时间戳开始消费数据。specific-offsets
:根据指定的 offset 开始消费数据。????????在 Flink 的配置文件(如 flink-conf.yaml)中,,可以通过设置以下参数来配置 scan.startup.mode
:
# 设置启动模式为 earliest-offset
flink.connector.kafka.scan.startup.mode: earliest-offset
????????或者在程序中使用 FlinkKafkaConsumer
的 setStartupMode()
方法来设置启动模式:
Properties props = new Properties();
props.setProperty("bootstrap.servers", "localhost:9092");
props.setProperty("group.id", "consumer-group");
FlinkKafkaConsumer<String> kafkaConsumer = new FlinkKafkaConsumer<>("topic-name", new SimpleStringSchema(), props);
kafkaConsumer.setStartupMode(StartupMode.EARLIEST);
// 使用 kafkaConsumer 进行后续操作
????????需要注意的是,scan.startup.mode
参数是用于 Flink 1.14 版本及以上。在更早的版本中,可以使用 flink.consumer.startup-mode
参数来设置消费 Kafka 数据的起始 offset 模式。