我有一个制作人正在为主题制作protobuf消息。我有一个消费者应用程序,它将protobuf消息反序列化。但hdfs sink连接器直接从Kafka主题中获取消息。 etc/schema-registry/connect-avro-standalone.properties
中的键和值转换器将被设置为?什么是最好的方法来做到这一点?提前致谢!Kafka Connect:如何使用hdfs sink连接器将来自Kafka主题的protobuf数据发送到HDFS?
3
A
回答
3
Kafka Connect旨在将卡夫卡中序列化格式的问题从converters的概念中分离出来。正如您似乎已经发现的那样,您需要将key.converter
和value.converter
类调整为支持protobufs的实现。这些类通常作为一个普通的Kafka Deserializer实现,然后执行从序列化特定的运行时格式(例如protobufs中的Message)到Kafka Connect的运行时API(它没有任何关联的序列化格式 - 它只是一个一组Java类型和一个类来定义模式)。
我不知道现有的实现。实现这一点的主要挑战是protobufs是自描述的(也就是说,可以在不访问原始模式的情况下对其进行反序列化),但由于其字段只是整数ID,所以如果没有以下要求,您可能无法得到有用的模式信息:a)需要特定模式可用于转换器,例如通过配置(这会使迁移架构更加复杂)或者b)为您的数据提供模式注册表服务+封装格式,使您可以动态查找模式。
相关问题
- 1. Kafka Connect HDFS接收器问题
- 2. kafka将sparkstreaming到HDFS
- 3. Kafka Connect HDFS - 如何使它工作?
- 4. Apache-Kafka-Connect,Confluent-HDFS-Connector,未知魔术字节,Kafka-To-Hdfs
- 5. 如何使用kafka连接将kafka主题下载到oracle中
- 6. 在NameNode HA模式下集群的Kafka HDFS连接器
- 7. 如何通过Spark流和Apache水槽将Kafka主题加载到HDFS
- 8. Kafka Connect + Zookepeer没有连接
- 9. Avro Records - > Kafka - > Kafka Connect Sink - > Amazon S3 Storage。幂等?
- 10. 从kafka到hdfs通过火花
- 11. Kafka Connect - 文件源连接器错误
- 12. 需要帮助调试kafka源到hdfs接收器与flume
- 13. 使用JsonConverter的Kafka Connect HDS Sink for JSON格式
- 14. Kafka节点连接到kafka的本地主机实例,但没有连接到远程kafka服务器
- 15. Kafka连接Cassandra连接器
- 16. 风暴hdfs连接器...试图使用风暴将数据写入hdfs
- 17. Kafka连接自定义timestamp.extractor
- 18. Kafka Connect的用例
- 19. 如何修改一个kafka主题的消息并使用java发送给另一个kafka主题?
- 20. Docker:无法将数据从logstash容器发送到Kafka容器
- 21. 将PubMed数据推送到Kafka
- 22. Apache Kafka:如何接收来自Kafka的最新消息?
- 23. Kafka连接MySQL源
- 24. 读取Producer中的数据流并推送到Kafka主题
- 25. Kafka:如何连接kafka-console-consumer以获取远程代理主题内容?
- 26. Kafka Connect Logstash
- 27. Kafka Connect MySQL
- 28. Kafka Connect集成
- 29. 将JMS客户端连接到Apache Kafka
- 30. 使用Spark Streaming + Kafka HDFS中的空文件夹
我有一个勉强工作的实现。我使用'avro-protobuf'扩展了'AvroConter'类的'Deserializer'。据我所知,Kafka Connect希望限制支持的格式数量,即JSON和Avro,因此我不会按原样发布它。然后,我不想复制整个'avro-converter'并将其重命名为'protobuf-converter'。什么是贡献该项目的最佳方法? –
Kafka Connect绝对不希望限制支持的格式数量。恰恰相反,我们包括转换器,并为通用连接器提供数据API,以支持不同序列化格式的插入。 protobuf的实现绝对有价值,我建议发布它。 尽管我们希望获得相当完整的实现,但我们愿意将其与AvroConverter一起纳入我们的存储库。我看到的最大问题是,为了获得有用的实现,我期望您需要类似于模式注册表的东西。 –