为什么不建议用JSONKeyValueDeserializationSchema

上一篇文章中在反序列化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

猜你喜欢

转载自blog.csdn.net/xianpanjia4616/article/details/108420596