Comparer
Avro ou JSON
Apache Avro est un système de sérialisation fondé sur des schémas, avec encodage binaire compact et fichier conteneur incluant le schéma. JSON est un format texte lisible d'échange ; Avro définit aussi un encodage JSON.
Quel format choisir ?
Envisagez Avro pour des enregistrements compacts régis par schéma et la résolution des schémas d'écriture et de lecture. Choisissez JSON si l'inspection textuelle et l'interopérabilité priment.
Adapté pour Avro
Échanger des enregistrements avec schéma
- Événements et flux suivant les versions de schéma
Adapté pour JSON
API web, fichiers de configuration et échange de données
- Transférer des données structurées
Informations générales
| Élément | Avro | JSON |
|---|---|---|
| Extension | .avro | .json |
| Type MIME | application/avro | application/json |
| Usages courants | Échanger des enregistrements avec schéma | API web, fichiers de configuration et échange de données |
| Comment ouvrir | Utilisez un outil Avro pour examiner schéma, champs, types et enregistrements. | Ouvrez-le dans un éditeur de texte, un IDE ou un visualiseur compatible JSON. |
| Exporter ou convertir | Vers JSON ou Parquet, vérifiez noms, types, valeurs nulles, types logiques, nombre de lignes et compatibilité. | Des applications ou outils de conversion peuvent le convertir vers des formats tels que CSV. |
Choisir selon l’usage
Événements et flux suivant les versions de schéma
Échanger des enregistrements avec schéma
AvroTransférer des données structurées
API web, fichiers de configuration et échange de données
JSONPoint clé 1
L'encodage binaire Avro suit un schéma ; son fichier conteneur stocke blocs de données et métadonnées du schéma. JSON est un texte défini par RFC 8259, tandis qu'Avro a aussi un encodage JSON distinct.
En savoir plus sur les différencesPoint clé 2
Avro exige le schéma d'écriture et peut le résoudre avec celui de lecture. La syntaxe JSON n'exige pas de schéma de données, même si l'application peut en définir un séparément.
En savoir plus sur les différencesEn savoir plus sur les différences
Utilisez Avro si producteurs et consommateurs partagent un schéma géré et que des enregistrements compacts sont utiles. Utilisez JSON pour des interfaces textuelles inspectables et des outils variés. Précisez l'encodage et validez types et schémas lors de la conversion.
- Avro encode les valeurs selon un schéma ; les fichiers conteneurs incluent blocs de données et métadonnées du schéma. JSON est une grammaire textuelle. Avro ne se limite pas au binaire puisqu'il spécifie aussi un encodage JSON.
- La résolution de schémas Avro peut relier schémas d'écriture et de lecture selon des règles de compatibilité. Les documents JSON peuvent être consommés sans schéma intégré ; la validation dépend alors souvent du contrat applicatif.
- Nombres, null, tableaux et objets JSON ne correspondent pas un à un aux unions, bytes, horodatages et autres types Avro. Vérifiez valeurs par défaut, absences, précision numérique, encodage et compatibilité des schémas.
Questions fréquentes
Avro est-il toujours binaire et JSON toujours textuel ?
Non. Avro utilise souvent un encodage binaire, mais spécifie aussi un encodage JSON. Identifiez l'encodage Avro ainsi que le conteneur ou cadrage de messages utilisés.