Flink消费Kafka初步了解

本文介绍了作者在研究Flink过程中遇到的与Kafka集成的问题,特别是如何处理Kafka记录的key。Flink的内置API仅提供基本功能,作者发现需要自定义DeserializationSchema来同时获取key和value。尽管发现了TypeInformationKeyValueSerializationSchema类,但在使用中遇到了异常。文章结尾,作者寻求解决方案,并提出可能需要实现KeyedDeserializationSchema来解决问题。

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

 

这两年一直听说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 KeyedDeserializationSchemaWrap
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值