【发布时间】:2020-06-24 09:22:26
【问题描述】:
我正在尝试自动化 NiFi 中的一项任务,我有 n 条可能的记录。
{
"id":"foo",
"date":"2020-06-24",
"key_1":
{
"bar":"value1"
}
}
其他例子:
{
"id":"foo",
"date":"2020-06-24",
"key_2":
{
"bar":"value2"
}
}
等等。我假装做的是使用 MergeRecord 像这样按 id 和 date 混合这些值:
[
{
"id":"foo",
"date":"2020-06-24",
"key_1":
{
"bar":"value1"
}
},
{
"id":"foo",
"date":"2020-06-24",
"key_2":
{
"bar":"value2"
}
},
...
]
但这就是我所拥有的:
[
{
"id":"foo",
"date":"2020-06-24",
"key_1":
{
"bar":"value1"
},
"key_2":null,
"key_3":null,...
},
{
"id":"foo",
"date":"2020-06-24",
"key_1":null,
"key_2":
{
"bar":"value2"
}
},
"key_3":null,
...
]
这是我的 avro 架构:
{"name":"foo",
"type":"record",
"fields":[
{"name":"id","type":"string"},
{"name":"date","type":"string"},
{"name":"key_1",
"type":["null",{
"name":"key_1", "type":"record",
"fields":[
{"name":"bar","type":"double"}
]
}]},
{"name":"key_2",
"type":["null",{
"name":"key_2", "type":"record",
"fields":[
{"name":"bar","type":"double"}
]
}]},
{"name":"key_3",
"type":["null",{
"name":"key_3", "type":"record",
"fields":[
{"name":"bar","type":"double"}
]
}]},
...
],
}
我不知道即使有任何方式可以说 NiFi 某些密钥可能会出现或可能不会出现。将其定义为 null 类型是我的最佳选择
【问题讨论】:
标签: schema apache-nifi avro