ФОРМАТ · BINARY
Avro
Схемная сериализация записей и объектные контейнеры.
- Расширения
- avro, avsc
- MIME type
- avro/binary и avro/json описаны спецификацией; регистрация и HTTP-использование зависят от системы
- Представление
- binary
- Потоковая обработка
- да
- Комментарии
- нет
- Поддержка схемы
- Writer schema; разрешение reader/writer schema
- Порядок
- Массивы упорядочены; map не гарантирует порядок
- null
- Ветка null в union
- Diff
- Для схемы — хорошая, для контейнера — плохая
- Архивация
- Храните writer schema и кодеки
Преимущества
- Схема контейнера и правила эволюции
Ограничения
- Совместимость зависит от конкретного изменения
Типичные ошибки
- Путать JSON schema Avro с JSON Schema
Маленький пример
{"type":"record","name":"Item","fields":[{"name":"id","type":"long"}]}Среда: Python 3; только JSON-синтаксис схемы .avsc.
python3 -m json.tool example.avsc # Только синтаксис схемы JSON, не контейнер Avro