Azure Data Explorer / kusto свободно типизированная стратегия приема json

Я хотел бы получить файл журнала JSONND с плоской структурой, но с множеством возможных значений ключей; некоторые ключи являются общими, например «время», но другие различаются в зависимости от типа сообщения файла журнала. Какой была бы полезная стратегия для приема таких данных в Kusto / Azure Data Explorer?

Я учел следующее:

  • Сделайте в столбцы только те ключи, которые всегда общие, а остальные запихните как JSON в «динамический» тип данных;
  • предварительно проанализировать достаточно большую выборку данных, извлечь все возможные ключи и создать столбцы для каждого ключа, по умолчанию - "строка"

person Konrads    schedule 21.12.2018    source источник


Ответы (1)


Общий подход должен быть таким:

  • Каждое свойство, которое вы планируете часто использовать в запросах (например, фильтровать, суммировать по / по и т. Д.), Должно находиться в отдельном выделенном строго типизированном (не dynamic) столбце. Для этого можно использовать сопоставление приема JSON. (я предполагаю, что формат JSONND позволит вам это сделать, но ДАЖЕ Я не уверен, как выглядят ваши данные, поэтому вам следует проверить, возможен ли этот вариант) или политика обновления.
  • Свойства, к которым, как вы ожидаете, будут обращаться реже, можно включить в пакет свойств, вставленный в столбец dynamic (и вы можете получить к ним доступ во время запроса, как указано в здесь).
person Yoni    schedule 21.12.2018
comment
Спасибо. Это подход, который я использовал в прошлом, играя со Spark / Avro. - person Konrads; 22.12.2018