Avro Schema定义警告及无效Schema问题求助
Avro timestamp-millis 字段定义错误修复
你之前修改时多嵌套了一层type对象,导致Schema无效。Avro的联合类型本身就是数组形式,不需要额外包裹在{"type": ...}结构里。
正确的字段定义需要把logicalType和基础类型long放在同一个对象中,作为联合类型数组的元素,同时保留default: null(因为联合类型包含null,这是Avro对可选字段的要求):
{"name": "leaving", "type": ["null", {"type": "long", "logicalType": "timestamp-millis"}], "default": null, "doc": "leaving timestamp"}
关键要点:
- 联合类型直接以数组形式赋值给字段的
type属性,无需额外嵌套 - logicalType必须与对应的基础类型(如
long)定义在同一个对象内,这样Avro才能正确识别逻辑类型 - 包含
null类型的联合字段必须指定default: null,否则会触发Schema验证错误
内容的提问来源于stack exchange,提问作者Super Hornet
相关产品推荐
相关产品推荐

