You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

创建含日期数据的AVRO文件时抛出AvroTypeException错误求助

问题背景

  • 运行环境:Python 3.7.10、avro-python3 1.10.2
  • 异常现象:写入包含日期对象的AVRO文件时抛出AvroTypeException错误

解决方案

  • 手动转换日期类型:AVRO的date逻辑类型要求输入为1970-01-01至今的天数整数,不能直接传入Python原生datetime.date对象,可通过以下代码转换:
    from datetime import date
    date_int = (your_date_object - date(1970, 1, 1)).days
    
  • 校验Schema定义:确认你的AVRO Schema中日期字段的定义符合规范,底层类型必须为int,同时声明逻辑类型:
    {"name": "date_field", "type": {"type": "int", "logicalType": "date"}}
    
  • 替换序列化依赖:avro-python3对原生日期类型的自动适配支持较差,可换用fastavro库,该库支持直接传入date/datetime对象自动完成序列化,无需手动转换。
  • 版本适配调整:avro-python3 1.10.2存在逻辑类型处理的已知bug,如果上述方案无效,可尝试降级到1.9.2版本,或升级到最新稳定版测试。

内容的提问来源于stack exchange,提问作者Nirmal Hariharan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 01:09:02