这两年一直听说Flink是新一代的流式处理框架,并且今年阿里巴巴还把自己改造后的Blink贡献给Flink,于是研究起了Flink,将工作原Spark看能否重构为Flink。
Flink的基本介绍这里就不做过多赘述,自行百度或Flink官网查看。
遇到的问题:
作为流处理框架,避免不了和各种消息中间件打交道,Kafka就是其中重要的一个。Flink自己提供了一套消费生产者API共基本使用。注意,真的只是基本使用。这里贴出1.7.2版本中FlinkKafkaConsumer010构造源码片段:
public class FlinkKafkaConsumer010<T> extends FlinkKafkaConsumer09<T> {
public FlinkKafkaConsumer010(String topic, DeserializationSchema<T> valueDeserializer, Properties props) {
this(Collections.singletonList(topic), valueDeserializer, props);
}
public FlinkKafkaConsumer010(String topic, KeyedDeserializationSchema<T> deserializer, Properties props) {
this(Collections.singletonList(topic), deserializer, props);
}
public FlinkKafkaConsumer010(List<String> topics, DeserializationSchema<T> deserializer, Properties props) {
this(topics, new KeyedDeserializationSchemaWrapper<>(deserializer), props);
}
public FlinkKafkaConsumer010(List<String> topics, KeyedDeserializationSchema<T> deserializer, Properties props) {
super(topics, deserializer, props);
}
@PublicEvolving
public FlinkKafkaConsumer010(Pattern subscriptionPattern, Deseri