如何使 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 处理联合数据类型的方式。
我有以下 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 处理联合数据类型的方式。