Мне нужно сохранить вложенные объекты данных с непредсказуемыми именами в схеме Avro.Например:
{
"foo": "bar",
"baz": {
"randomName1": 0.23,
...
}
}
Поскольку создание рекурсивных карт возможно только с записями , но записи должны иметь имя поля, я думаю, мне нужно преобразовать объект во что-то еще.
Я думаю об одном из этих трех вариантов:
(1) Массив вложенных пар ключ / значение
Пример:
[
{
key: "foo",
value: "bar"
},
{
key: "baz",
value: [
{
name: "randomName1",
value; 0.23
},
...
]
},
]
(2) Плоская карта с парами ключ / значение с синтаксической точкой:
Пример:
{
"foo": "bar",
"baz.randomName1": 0.23,
...
}
(3) Массив сплющенного ключа/ объекты значения
Пример:
[
{
"name": "foo",
"value": "bar"
},
{
"name": "baz.randomName1",
"value": 0.23
},
...
]
Все три подхода хорошо подходят для Avro, но я не уверен в последствиях любого из этих подходов, например, при попытке запросить эти значениячерез KSQL.
Высоко ценится любой намек на потенциальные возможности, полученные в дальнейшем.