我们可以通过同一个kafka主题传递不同类型的消息吗?

rseugnpd  于 2021-06-04  发布在  Kafka
关注(0)|答案(2)|浏览(778)

我有一个场景,我有不同类型的消息要从Kafka生产者流。
如果我不想针对不同的消息类型使用不同的主题,如何在spark结构化流媒体用户端处理它?

i.e. only one topic I want to use for different type of messages ...say Student record , Customer record....etc.
How to identify which message is been received from Kafka topic?

Please let me know how to handle this scenario at kafka consumer side?
b91juud3

b91juud31#

Kafka的主题在经验上没有“数据类型”。它都是字节,所以是的,您可以将完全不同的对象序列化到同一个主题中,但是使用者必须添加逻辑,以知道所有可能的类型都将添加到主题中。
也就是说,结构化流是建立在结构化数据与模式的思想之上的,因此,如果在同一主题中有完全不同的类型,而不首先基于所有类型中始终存在的某个内部属性执行筛选,则可能无法工作。

l5tcr1uw

l5tcr1uw2#

是的,您可以通过在生成表示逻辑主题或操作的消息时向消息本身添加“some attribute”,并在spark方面进行区分,例如结构化流kafka集成。e、 g.检查消息内容中的“某个属性”,并进行相应的处理。
分区当然总是用于排序。

相关问题