Avro Schema
Un schéma Avro utilise JSON pour définir les noms de champs, les types et les valeurs par défaut des enregistrements ; il voyage avec les données ou est préenregistré et constitue les métadonnées de la sérialisation Avro.
Objectif
Fournir une description de types pour la sérialisation Avro, rendant les données auto-descriptives ou confrontées à un schéma préenregistré, et prenant en charge l'évolution du schéma.
Mécanisme
Le schéma est un objet JSON : type=record, avec un tableau fields contenant name, type (scalaire/complexe/union) et default. Une union s'exprime comme un tableau pour autoriser la nullité. L'évolution permet d'ajouter des champs optionnels et de supprimer des champs ayant des valeurs par défaut.
Cas d’usage
- Schémas de messages dans Kafka
- Sérialisation de données Hadoop
- Schema Registry