我正在尝试使用Kafka的控制台制作器kafka-console-producer
。似乎默认情况下,它使用字符串序列化器。
是否可以将Kafka控制台生产者设置为使用JSON序列化器?
答案 0 :(得分:1)
JSON序列化器只是String序列化器的扩展;它还使用原始字符串对象并将其转换为字节。另外,无论如何,纯字符串都是有效的JSON类型。
因此,如果您可以控制输入数据,则没有理由将JSON序列化程序显式设置到控制台生成器上。
答案 1 :(得分:1)
除了StringSerializer是默认值之外,我还想添加一点,您可以通过在以下生产者配置中提供类名来选择所需的任何序列化器(甚至是自定义实现):
key.serializer
value.serializer
然后,您的使用者将需要使用适当的解串器,并且需要在以下使用者配置中进行设置:
key.deserializer
value.deserializer
编辑:起初,我认为序列化程序类具有默认值,但是根据Kafka文档,情况似乎并非如此。可能会根据所生成的记录中用于键和值对的数据类型进行设置。无论如何,这些都是您需要配置的参数,以通过所需的序列化器/解串器的实现来设置特定的类。