如何使 avro 联合​​多种类型只显示一种类型(不为空的)

how to make avro union multiple types only show ONE type (the one not null)

我有以下 avro 架构

{
  "type" : "record",
  "namespace" : "com.test.avro",
  "name" : "MultiTypeObject",
  "fields" : [
    {
      "name" : "id",
      "type" : "int"
    },
    {
      "name" : "value",
      "type" : ["null", "double", "int", "boolean"],
      "default" : null
    }
  ]
}

但是,当我使用 AvroParquet 将数据写入 S3 并以 Json 格式查询时,我得到了这个

"myObject": {
  "id": 1,
  "value": {
    "member2": null,
    "member0": 24.439999999999998,
    "member1": null
  }
}

问题是如何让这个值字段只打印一个值,如下所示?

"myObject": {
  "id": 1,
  "value": 24.439999999999998
}

非常感谢。

至少目前没有任何方法可以合并它们,这就是 avro 处理联合数据类型的方式。