上一篇文章中在反序列化kafka的数据时候用的是KafkaDeserializationSchema,因为我要获取kafka的元数据信息,有同学问我说为什么不直接用Flink自带的JSONKeyValueDeserializationSchema呢? 这个也可以获取到kafka的元数据信息啊,而且使用起来也非常的简单,JSONKeyValueDeserializationSchema 确实可以获取到kafka的元数据信息,但是它有一些限制,下面我们来分析一下源码你就明白了.
JSONKeyValueDeserializationSchema 源码解析
从上面的图中可以看到 JSONKeyValueDeserializationSchema 这个类也实现了 KafkaDeserializationSchema 这个接口,然后重写了 deserialize isEndOfStream getProducedType 这个三个方法. 下面就来看下 JSONKeyValueDeserializationSchema 类的源码实现
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed w