Formatteur et validateur de schéma Apache Avro
Guide
Formatteur et validateur de schéma Apache Avro
Collez un schéma JSON Apache Avro et obtenez-le formaté de manière lisible et validé selon la spécification officielle d'Avro directement dans votre navigateur. Ce outil détecte les problèmes que des lintes JSON simples ou des modèles linguistiques (LLM) manquent — types d'union invalides, valeurs par défaut qui ne correspondent pas à la première branche d'union, noms de champs dupliqués, références de types nommés non résolues, symboles d'énumération qui violent les règles de nommage, et bien d'autres.
Il produit également la Forme canonique de parsing définie par la spécification Avro, qui est la représentation déterministe utilisée pour les empreintes de schémas et les vérifications de compatibilité entre producteurs et consommateurs.
Comment utiliser
- Collez votre
.avscCollez un schéma (un document JSON) dans la zone d'entrée, ou faites glisser un fichier sur le chargeur. - Choisissez le style d'indentation souhaité pour la sortie formatée — 2 espaces, 4 espaces, un tab, ou totalement minifié.
- Cochez optionnellement Trier les clés des objets alphabétiquement pour des différences déterministes entre les versions de schéma.
- Cochez Sortie en forme canonique de parsing lorsque vous avez besoin de l'entrée d'empreinte définie par la spécification. Les options d'indentation et de tri sont ignorées dans ce mode.
- Lisez la barre de statut verte/rouge située au-dessus de la sortie — elle indique les schémas valides/invalides, ainsi que le nombre de records, de champs, d'énumérations, d'union et de types fixes. Les avertissements (comme une valeur par défaut non nulle ne correspondant pas à la première branche d'union) apparaissent en dessous.
- Utilisez le bouton de copie ou de téléchargement dans la sortie pour exporter le schéma formaté.
Caractéristiques
- Validation stricte selon la spécification Avro — vérifie les types primitifs et complexes, la syntaxe des noms et espaces de noms, les règles des branches d'union et la détection des types nommés dupliqués.
- Compatibilité des valeurs par défaut — vérifie chaque valeur par défaut contre son type déclaré, avec une gestion spéciale de la règle de la première branche d'union.
- Résolution des types nommés — résout les références comme
com.example.Useren se basant sur les définitions antérieures dans le même document. - Forme canonique de parsing — émet la version déterministe JSON définie par la spécification, utilisée pour les empreintes de schémas.
- Options de formatage — sortie avec 2/4 espaces, tabulation ou minifiée, avec tri alphabétique des clés optionnel pour des différences stables.
- Statistiques en ligne — les nombres de records, de champs, d'énumérations, d'union et de types fixes sont affichés après chaque validation.
- Fonctionne entièrement dans votre navigateur — aucun schéma n'est envoyé sur un serveur, donc l'outil est sûr pour les schémas propres ou internes.
FAQ
-
Qu'est-ce que Apache Avro ?
Apache Avro est un système de sérialisation de données en ligne, utilisé intensément dans les écosystèmes Hadoop et Kafka. Il décrit les données via un schéma JSON et sérialise les charges utiles sous forme de format binaire compact. Le schéma voyage avec (ou est référencé par) les données, ce qui fait que Avro est populaire pour les pipelines de données évoluant.
-
Pourquoi les valeurs par défaut des schémas Avro doivent-elles correspondre à la première branche d'une union ?
Les lecteurs Avro résolvent une union en comparant l'indice de la branche du lecteur avec celle du produit. Lorsqu'un champ est absent dans les données, le lecteur n'a pas d'indice à consulter, donc la spécification exige que la valeur par défaut soit représentable comme la première branche de l'union du lecteur. C'est pourquoi les champs nullable sont généralement écrits sous la forme ['null', T] avec une valeur par défaut nulle.
-
Qu'est-ce que la forme canonique de parsing ?
C'est une sérialisation JSON normalisée définie par la spécification Avro. Les noms courts sont remplacés par des noms complets, les attributs non essentiels comme doc et aliases sont supprimés, l'ordre des clés est fixé et l'espace est éliminé. Deux schémas produisent la même forme canonique (et donc la même empreinte) lorsqu'ils sont sémantiquement équivalents, même si leur JSON original est différent.
-
Comment sont résolus les espaces de noms ?
Un nom sans point est qualifié par l'espace de noms le plus étroitement encadré. Un nom contenant un point est considéré comme un nom complet et est utilisé tel quel. Chaque enregistrement, énumération et type fixe doit avoir un nom complet unique dans le document de schéma.
-
Les types logiques sont-ils pris en charge ?
Les types logiques tels que décimal, date, heure-milliseconde et timestamp-milliseconde sont simplement des types primitifs Avro avec des annotations supplémentaires. Ce outil valide le type primitif sous-jacent et conserve les métadonnées du type logique dans la sortie formatée, mais il ne vérifie pas les contraintes spécifiques aux types logiques (par exemple, la précision et l'échelle du décimal).
Installez nos extensions
Ajoutez des outils IO à votre navigateur préféré pour un accès instantané et une recherche plus rapide
恵 Le Tableau de Bord Est Arrivé !
Tableau de Bord est une façon amusante de suivre vos jeux, toutes les données sont stockées dans votre navigateur. D'autres fonctionnalités arrivent bientôt !
Outils essentiels
Tout voir Nouveautés
Tout voirMise à jour: Notre dernier outil a été ajouté le 13 juin 2026
