serialization - 获取架构反序列化错误:字段的默认值无效
问题描述
在运行 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},
推荐阅读
- css - 你知道什么可能导致网站的某些部分消失吗?
- java - 在我的情况下,限制对 html 管理页面的访问的最佳方法是什么?
- reactjs - 输入“鼠标事件”
' 不可分配给类型 'boolean' - spring-boot - spring bootrun完成后如何运行spring boot应用程序代码只运行一次
- c# - WPF数据网格显示字符串
- regex - 删除特定字符后的其余行
- db2 - 使用 CLI SQLDriverConnect 的隐式本地连接(无密码)失败并出现 SQL30082N 原因 3 PASSWORD MISSING
- rust - 结构方法作为 FFI 回调
- sql-server - 请帮助进行分组
- css - 车把内联css