向 Kafka 发送 Avro 消息
Sending Avro messages to Kafka
我有一个应用程序可以定期生成一组原始 JSON 消息。我能够使用 avro-tools 将其转换为 Avro。我这样做是因为由于 Kafka-Connect JDBC 接收器的限制,我需要消息包含模式。我可以在记事本++上打开这个文件,看到它包括模式和几行数据。
现在我想将其发送到我的中央 Kafka Broker,然后使用 Kafka Connect JDBC sink 将数据放入数据库中。我很难理解我应该如何将这些 Avro 文件发送到我的 Kafka Broker。我需要模式注册表来满足我的目的吗?我相信 Kafkacat 不支持 Avro,所以我想我将不得不坚持使用 Kafka 安装附带的 kafka-producer.sh(如果我错了请纠正我)。
问题是:有人可以分享在不让 Confluent 参与的情况下向 Kafka 代理生成我的 Avro 文件的步骤吗?
谢谢,
要使用 Kafka Connect JDBC Sink,您的数据需要一个明确的模式。您在连接器配置中指定的转换器决定了架构的保存位置。这可以嵌入在 JSON 消息中(org.apache.kafka.connect.json.JsonConverter
和 schemas.enabled=true
)或保存在模式注册表中(io.confluent.connect.avro.AvroConverter
、io.confluent.connect.protobuf.ProtobufConverter
或 io.confluent.connect.json.JsonSchemaConverter
).
要了解更多信息,请参阅 https://www.confluent.io/blog/kafka-connect-deep-dive-converters-serialization-explained
要将 Avro 消息写入 Kafka,您应该将其序列化为 Avro 并将模式存储在模式注册表中。有围棋client library to use with examples
without getting Confluent getting involved.
您的意思还不完全清楚。 Kafka Connect JDBC Sink 由 Confluent 编写。管理模式的最佳方式是使用模式注册表。如果您不想使用架构注册表,那么您可以将架构嵌入到您的 JSON 消息中,但这是一种次优的处理方式。
我有一个应用程序可以定期生成一组原始 JSON 消息。我能够使用 avro-tools 将其转换为 Avro。我这样做是因为由于 Kafka-Connect JDBC 接收器的限制,我需要消息包含模式。我可以在记事本++上打开这个文件,看到它包括模式和几行数据。
现在我想将其发送到我的中央 Kafka Broker,然后使用 Kafka Connect JDBC sink 将数据放入数据库中。我很难理解我应该如何将这些 Avro 文件发送到我的 Kafka Broker。我需要模式注册表来满足我的目的吗?我相信 Kafkacat 不支持 Avro,所以我想我将不得不坚持使用 Kafka 安装附带的 kafka-producer.sh(如果我错了请纠正我)。
问题是:有人可以分享在不让 Confluent 参与的情况下向 Kafka 代理生成我的 Avro 文件的步骤吗?
谢谢,
要使用 Kafka Connect JDBC Sink,您的数据需要一个明确的模式。您在连接器配置中指定的转换器决定了架构的保存位置。这可以嵌入在 JSON 消息中(org.apache.kafka.connect.json.JsonConverter
和 schemas.enabled=true
)或保存在模式注册表中(io.confluent.connect.avro.AvroConverter
、io.confluent.connect.protobuf.ProtobufConverter
或 io.confluent.connect.json.JsonSchemaConverter
).
要了解更多信息,请参阅 https://www.confluent.io/blog/kafka-connect-deep-dive-converters-serialization-explained
要将 Avro 消息写入 Kafka,您应该将其序列化为 Avro 并将模式存储在模式注册表中。有围棋client library to use with examples
without getting Confluent getting involved.
您的意思还不完全清楚。 Kafka Connect JDBC Sink 由 Confluent 编写。管理模式的最佳方式是使用模式注册表。如果您不想使用架构注册表,那么您可以将架构嵌入到您的 JSON 消息中,但这是一种次优的处理方式。