Format Atlas

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émentAvroJSON
Extension.avro.json
Type MIMEapplication/avroapplication/json
Usages courantsÉchanger des enregistrements avec schémaAPI web, fichiers de configuration et échange de données
Comment ouvrirUtilisez 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 convertirVers 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

Avro

Transférer des données structurées

API web, fichiers de configuration et échange de données

JSON

Point 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érences

Point 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érences

En 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.

En savoir plus

Références et spécifications