serialization - 获取架构反序列化错误 : Invalid default for field

标签 serialization apache-kafka deserialization avro confluent-schema-registry

在运行 kafka 消费者时,我收到以下错误:

Caused by: org.apache.kafka.common.errors.SerializationException: Error deserializing Avro message for id 13
Caused by: org.apache.avro.AvroTypeException: Invalid default for field key_id: "null" not a ["null",{"type":"string","avro.java.string":"String"}]
    at org.apache.avro.Schema.validateDefault(Schema.java:1512)
    at org.apache.avro.Schema.access$300(Schema.java:86)
    at org.apache.avro.Schema$Field.<init>(Schema.java:493

我的 avro 架构是这样的:
{ "name": "key_id", "type": [ "null", "string" ], "default": "null"},

我尝试了多种选择来解决这个问题,但它仍然存在。

最佳答案

您需要设置"default": null ,而不是 "default":"null" :

{ "name": "key_id", "type": [ "null", "string" ], "default": null},

关于serialization - 获取架构反序列化错误 : Invalid default for field,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57094629/

相关文章:

linux - 无法使用 dcos 节点 ssh --master-proxy --leader sshing 进入 dcos 节点

java - Avro 在消费者端通过 kafka 自定义解码 UUID

java - 解析具有后代元素的 JSON 列表

C++ boost序列化多态问题

java - 在 MVC 中从 WCF 服务反序列化 Json 时出错

c# - 如何在 C# 中序列化 Pen?

go - Go kafka的未定义kafka组件

java - CGLib 和序列化

c# - 如何将任何类型的文件转换为字节数组?

java - 反序列化包并转换回实际类时出错