我有一个制片人正在为一个主题制作protobuf消息。我有一个消费者应用程序,它反序列化protobuf消息。但是hdfs sink连接器直接从Kafka主题中获取消息。将etc/schema-registry/connect-avro-standalone.properties
中的键和值转换器设置为什么?最好的方法是什么?提前谢谢!
答案 0 :(得分:4)
Kafka Connect旨在将Kafka中序列化格式与单个连接器的关注与converters的概念分开。正如您似乎发现的那样,您需要将key.converter
和value.converter
类调整为支持protobufs的实现。这些类通常作为普通的Kafka反序列化器实现,然后执行从序列化特定的运行时格式(例如,protobufs中的消息)到Kafka Connect的运行时API(没有任何相关的序列化)的转换。 format - 它只是一组Java类型和一个用于定义Schemas的类。)
我不知道现有的实施方式。实现这一点的主要挑战是protobufs是自描述的(即你可以在不访问原始模式的情况下对其进行反序列化),但由于它的字段只是整数ID,因此你可能无法获得有用的模式信息。 )要求转换器可以使用特定的模式,例如via config(使迁移模式更复杂)或b)数据的模式注册服务+包装格式,允许您动态查找模式。