Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka 在卡夫卡连接器';s反序列化架构或进程内函数后_Apache Kafka_Apache Flink - Fatal编程技术网

Apache kafka 在卡夫卡连接器';s反序列化架构或进程内函数后

Apache kafka 在卡夫卡连接器';s反序列化架构或进程内函数后,apache-kafka,apache-flink,Apache Kafka,Apache Flink,因此,我有一个用例,其中kafka连接器使用来自kafka主题的avro字节数组,并将其转换为avro对象。看起来很简单,但我意识到如果反序列化由于某种原因失败,比如不匹配模式或其他原因,那么处理的唯一选项就是记录错误并输出空字节数组或抛出错误(对于长时间运行的作业,我认为这不是一个好主意) 但是,如果kafka连接器的反序列化程序只接收字节数组并输出它,并且下游进程函数执行验证和转换,那么如果发生错误,它可以将错误写入“错误消息”pojo到一个侧面输出,然后写入一个错误卡夫卡主题,这将使跟踪失

因此,我有一个用例,其中kafka连接器使用来自kafka主题的avro字节数组,并将其转换为avro对象。看起来很简单,但我意识到如果反序列化由于某种原因失败,比如不匹配模式或其他原因,那么处理的唯一选项就是记录错误并输出空字节数组或抛出错误(对于长时间运行的作业,我认为这不是一个好主意)

但是,如果kafka连接器的反序列化程序只接收字节数组并输出它,并且下游进程函数执行验证和转换,那么如果发生错误,它可以将错误写入“错误消息”pojo到一个侧面输出,然后写入一个错误卡夫卡主题,这将使跟踪失败的消息和相关数据变得更加容易

在kafka连接器的序列化逻辑中是否已经有这样做的方法,或者这会有一些严重的性能问题(比如kafka连接器的序列化逻辑是否经过优化,以比在下游函数中更快地进行这些转换)


感谢您提前提供的任何信息

不,应该没有明显的性能差异,在下游执行序列化当然更灵活。例如,您还可以以比源代码更高的并行度运行序列化,如果序列化在您的情况下非常昂贵,这可能是有意义的

我现在看到的唯一缺点是,不能使用每分区水印[1]。最近还讨论了与这些主题相关的开发人员邮件列表[2]

希望这有帮助

[1] [2]