happytails.ai
Українська

Перевірка сумісності схем Avro

Перевірте, чи може нова схема Avro читати дані, записані старою, або навпаки. Усі поля, типи й символи переліків, що блокують сумісність, наведено з їхнім шляхом.

Приймає схеми Avro у форматі JSON розміром до 1 000 000 символів кожна, не більш як 50 000 значень JSON, із вкладеністю до 64 рівнів і до 50 попередніх версій для транзитивних режимів. Перевірка виконується у фоновому процесі браузера. Можна завантажити звіт JSON і список проблем CSV. Схема записувача як JSON або {"versions":[...]} із попередніми схемами, починаючи з найстарішої, для транзитивних режимів. До 1 000 000 символів. Перевірте налаштування перед запуском.

Ваш результат

Повідомте про проблему або поділіться ідеєю.

Перевірка сумісності схем Avro
  1. Вставте попередню схему Avro в основне поле або {"versions":[...]} для транзитивного режиму.
  2. Вставте нову схему в поле New schema.
  3. Виберіть зворотну, пряму або повну сумісність.
  4. Запустіть перевірку та завантажте звіт JSON або список проблем CSV.

Що варто знати

Приймає схеми Avro у форматі JSON розміром до 1 000 000 символів кожна, не більш як 50 000 значень JSON, із вкладеністю до 64 рівнів і до 50 попередніх версій для транзитивних режимів. Перевірка виконується у фоновому процесі браузера. Можна завантажити звіт JSON і список проблем CSV.

Режими

Зворотна сумісність означає, що нова схема може читати дані, записані старою, що потрібно під час оновлення споживача. Пряма сумісність означає, що стара схема може читати дані, записані новою. Повна перевіряє обидва напрямки. Транзитивні режими перевіряють нову схему з кожною вказаною попередньою версією, від найстарішої, а не лише з останньою.

Правила розв’язання схем

Перевірки відповідають розділу Schema Resolution специфікації Avro 1.11: int підвищується до long, float і double; long — до float і double; float — до double; string і bytes можуть перетворюватися одне в одне. Записи зіставляються за повною назвою, назвою без пакета або псевдонімом читача. Полю читача, якого немає у записувача, потрібне коректне типове значення. Перелік читача має містити кожен символ записувача, якщо не має типового значення. Кожна гілка об’єднання записувача має розв’язуватися читачем.

Обмеження перевірки

Тут перевіряється розв’язання схем Avro, а не додаткові правила окремого реєстру схем. Коректні логічні десяткові типи мають мати однакові точність і масштаб для байтового та фіксованого кодування. Невідомі або некоректні логічні типи використовують базовий тип Avro. Типові значення об’єднань перевіряються за першою гілкою; вкладені типові значення перевіряються рекурсивно.

Що можна зробити далі