Flink Kafka Consumer继承了FlinkKafkaConsumerBase抽象类,而FlinkKafkaConsumerBase抽象类又继承了RichParallelSourceFunction,所以要实现一个自定义的source时,有两种实现方式:一种是通过实现SourceFunction接口来自定义并行度为1的数据源;另一种是通过实现ParallelSourceFunction接口或者继承RichParallelSourceFunction来自定义具有...
> sourceOperator = new StreamSource<>(function);这里的function 就是传入的 FlinkKafkaConsumer 对象,StreamSource 构造函数中将这个对象传给父类 AbstractUdfStreamOperator 的 userFunction 变量,源码如下: ■ StreamSource.java public StreamSource(SRC sourceFunction) { super(sourceFunction); this.chainingStrategy...
FlinkKafkaConsumer继承了FlinkKafkaConsumerBase,FlinkKafkaConsumerBase继承了RichParallelSourceFunction,FlinkKafkaConsumer构造方法还是主要调用了父类的构造方法。首先来分析一下FlinkKafkaConsumerBase public abstract class FlinkKafkaConsumerBase<T> extends RichParallelSourceFunction<T> implements CheckpointListener, ResultT...
KafkaSource创建 如官网所示,编写Flink消费Kafka场景应用,我们可以按照如下方式创建KafkaSource: KafkaSource<String>source=KafkaSource.<String>builder().setBootstrapServers(brokers).setTopics("input-topic").setGroupId("my-group").setStartingOffsets(OffsetsInitializer.earliest()).setValueOnlyDeserializer(newSi...
1.Flink-kafka-source 源码解析 流程概述 一般在 Flink 中创建 kafka source 的代码如下: StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); //KafkaEventSchema为自定义的数据字段解析类 env.addSource(new FlinkKafkaConsumer<>("foo", new KafkaEventSchema(), properties) 复制...
1.Flink-kafka-source 源码解析 流程概述 一般在 Flink 中创建 kafka source 的代码如下: StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); //KafkaEventSchema为自定义的数据字段解析类 env.addSource(new FlinkKafkaConsumer<>("foo", new KafkaEventSchema(), properties) ...
KafkaConsumer<String,String>consumer=newKafkaConsumer<>(props);consumer.poll(Duration.ofMillis(100)); 本文将介绍flink从env.addSource方法最终调用到consumer.poll方法的过程。 源码分析 初始化 初始化执行env.addSource的时候会创建StreamSource对象,即final StreamSource<OUT, ?> sourceOperator = new StreamSource...
本文依赖kafka的环境是好用的。 一、maven依赖 本文依赖见【flink番外篇】3、flink的source介绍及示例(1)- File、Socket、Collection,不再赘述。 如果有新增的maven依赖,则会在示例时加以说明,避免篇幅的过大。 二、环境或版本说明 1、该示例需要有kafka的运行环境,kafka的部署与使用参考文章: ...
Kafka Manager https://blog.csdn.net/qq_36306519/article/details/130477827 https://blog.51cto.com/u_16213440/7865373 https://zhuanlan.zhihu.com/p/586005021 https://www.cnblogs.com/zhangdapangzo/p/17211612.html https://blog.csdn.net/xiaolin84250/article/details/132448894 ...
简介:本文基于 Flink 1.9.0 和 Kafka 2.3 版本,对 Flink Kafka source 和 sink 端的源码进行解析,主要分为 Flink-kafka-source 源码解析、Flink-kafka-sink 源码解析两部分。 Flink kafka source & sink 源码解析 原创 吴鹏 Flink 中文社区 4天前