Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Avrotize — это универсальное средство для преобразования форматов данных и схемы базы данных и создания кода на различных языках программирования. Средство поддерживает преобразование схем таблиц Kusto в формат Apache Avro и наоборот с определением таблицы Kusto в команду Avrotize Schema. Средство обрабатывает динамические столбцы в таблицах Kusto следующим образом:
- Вывод схемы с помощью выборки
- Разрешение массивов и записей на любом уровне вложения
- Обнаружение конфликтующих схем
- Создание союзов типов для каждой другой ветви схемы
Заметка
Средство Avrotize k2a — это средство с открытым исходным кодом, предоставляемое as-is без поддержки продукта.
Преобразование определения таблицы в формат AVRO
С помощью команды avrotize k2a
можно подключиться к базе данных Kusto и создать схему Avro с типом записи для каждой таблицы в базе данных.
Ниже приведены примеры использования команды:
Создайте схему Avro с объединением верхнего уровня с записью для каждой таблицы:
avrotize k2a --kusto-uri <Uri> --kusto-database <DatabaseName> --avsc <AvroFilename.avsc>
Создайте файл каталога XRegistry с помощью оболочки CloudEvent и схем для каждого события:
В следующем примере вы создаете файлы каталога xRegistry с схемами для каждой таблицы. Если входная таблица содержит CloudEvents, определяемые столбцами, такими как идентификатор , исходныйи тип , средство создает отдельные схемы для каждого типа события.
avrotize k2a --kusto-uri <URI> --kusto-database <DatabaseName> --avsc <AvroFilename.xreg.json> --emit-cloudevents-xregistry --avro-namespace <AvroNamespace>
Преобразование схемы AVRO в объявление таблицы Kusto
Команду avrotize a2k
можно использовать для создания объявлений таблиц KQL из схемы Avro и сопоставлений JSON. Он также может включать документы в объявления таблицы, извлеченные из заметок "doc" в типах записей Avro.
Если схема Avro является одним типом записи, выходной скрипт включает команду .create table
для записи. Поля записи преобразуются в столбцы в таблице. Если схема Avro является объединением типов (массив верхнего уровня), выходной скрипт выдает отдельную команду .create table
для каждого типа записи в союзе.
avrotize a2k .\<AvroFilename.avsc> --out <KustoFilename.kql>
Средство Avrotize может преобразовать схемы JSON, XML-схему, схему ASN.1 и Protobuf 2 и Protobuf 3 в схему Avro. Сначала можно преобразовать исходную схему в схему Avro, чтобы нормализовать ее, а затем преобразовать ее в схему Kusto.
Например, чтобы преобразовать "address.json" в схему Avro, следующая команда сначала преобразует входной документ схемы JSON "address.json", чтобы нормализовать его:
avrotize j2a address.json --out address.avsc
Затем преобразуйте файл схемы Avro в схему Kusto:
avrotize a2k address.avsc --out address.kql
Вы также можете объединить команды для преобразования из схемы JSON через Avro в схему Kusto:
avrotize j2a address.json | avrotize a2k --out address.kql
Связанное содержимое
- страница репозитория Avrotize GitHub
- сопоставления AVRO pypi
- сопоставление AVRO