我想使用 Kafka 源作为 Apache Flink 1.12 的有界数据源,我尝试使用 FlinkKafkaConsumer 连接器,但它给了我以下原因
引起:java.lang.IllegalStateException:检测到“execution.runtime-mode”设置为“BATCH”的未绑定源。不允许这种组合,请将 'execution.runtime-mode' 设置为 STREAMING 或 AUTOMATIC 在 org.apache.flink.util.Preconditions.checkState(Preconditions.java:198) ~[flink-core-1.12.0.jar:1.12.0]
基于 flink 最新文档,我们可以使用 Kafka 作为有界源,但没有提供有关如何实现的示例,也没有提到它是继续使用这种方法的最佳方式。
谁能帮我得到一些示例工作代码来实现这个用例
答案 0 :(得分:1)
这是一个例子:
KafkaSource<String> source = KafkaSource
.<String>builder()
.setBootstrapServers(...)
.setGroupId(...)
.setTopics(...)
.setDeserializer(...)
.setStartingOffsets(OffsetsInitializer.earliest())
.setBounded(OffsetsInitializer.latest())
.build();
env.fromSource(source, WatermarkStrategy.forMonotonousTimestamps(), "Kafka Source"));
有关详细信息,请参阅 the javadocs。