Kafka Connect:如何使用hdfs sink连接器将Kafka主题的protobuf数据发送到HDFS?

时间:2016-11-23 18:58:17

标签: apache-kafka apache-kafka-connect

我有一个制片人正在为一个主题制作protobuf消息。我有一个消费者应用程序,它反序列化protobuf消息。但是hdfs sink连接器直接从Kafka主题中获取消息。将etc/schema-registry/connect-avro-standalone.properties中的键和值转换器设置为什么?最好的方法是什么?提前谢谢!

1 个答案:

答案 0 :(得分:4)

Kafka Connect旨在将Kafka中序列化格式与单个连接器的关注与converters的概念分开。正如您似乎发现的那样,您需要将key.convertervalue.converter类调整为支持protobufs的实现。这些类通常作为普通的Kafka反序列化器实现,然后执行从序列化特定的运行时格式(例如,protobufs中的消息)到Kafka Connect的运行时API(没有任何相关的序列化)的转换。 format - 它只是一组Java类型和一个用于定义Schemas的类。)

我不知道现有的实施方式。实现这一点的主要挑战是protobufs是自描述的(即你可以在不访问原始模式的情况下对其进行反序列化),但由于它的字段只是整数ID,因此你可能无法获得有用的模式信息。 )要求转换器可以使用特定的模式,例如via config(使迁移模式更复杂)或b)数据的模式注册服务+包装格式,允许您动态查找模式。