Avro (Apache) : fichier .avro

stable

Format de sérialisation de données Apache, avec schéma embarqué directement dans le fichier.

L’Avro sérialise des données structurées en encapsulant directement leur schéma (la description des champs et de leurs types) dans le fichier lui-même, en JSON, ce qui lui permet d’être lu correctement même sans connaissance préalable de sa structure, contrairement au Parquet, dont le schéma se trouve dans un footer distinct.

Sa signature “Obj” suivie d’un octet de version (0x01) est stable et identifie le format sans ambiguïté.

Utilisé notamment dans l’écosystème Hadoop et les pipelines de traitement de données en flux (Apache Kafka), l’Avro se distingue par sa capacité à gérer l’évolution du schéma dans le temps : un lecteur peut interpréter correctement des données écrites avec une version antérieure ou postérieure du schéma, une propriété précieuse dans les architectures de données à long terme.

Contrairement au Parquet, orienté colonne et optimisé pour des requêtes analytiques ne portant que sur quelques champs, l’Avro reste orienté ligne, ce qui le rend plus adapté à l’écriture et à la lecture séquentielle complète de flux d’événements qu’à des requêtes analytiques partielles.

Les règles précises de compatibilité de schéma (ajout d’un champ optionnel, suppression d’un champ avec valeur par défaut) sont explicitement définies par la spécification Avro, ce qui en fait un choix fréquent pour les architectures de streaming de données où producteurs et consommateurs évoluent indépendamment dans le temps.

Le Schema Registry de Confluent, un composant central de nombreuses architectures Apache Kafka, s’appuie précisément sur l’Avro comme format par défaut pour centraliser et faire respecter la compatibilité des schémas entre tous les producteurs et consommateurs d’un même flux de données, évitant qu’un changement de schéma mal coordonné ne casse silencieusement un système en aval.

Signature binaire

Diagramme de la signature binaire du format Avro (Apache), octets mis en évidence
HexadécimalOffset
4F 62 6A 010

Vérifier qu'un fichier porte bien cette signature →

Questions fréquentes

Comment ouvrir un fichier .avro ?

Apache Spark / bibliothèques Avro permet d'ouvrir gratuitement un fichier .avro. Voir la liste complète des logiciels compatibles ci-contre.

Quel est le type MIME du format Avro (Apache) ?

Le type MIME du format Avro (Apache) est application/avro.

Le format Avro (Apache) (.avro) est-il encore utilisé aujourd'hui ?

Oui, le format Avro (Apache) est stable et toujours largement utilisé, sans signe de déclin.

Peut-on ouvrir un fichier .avro sur mobile, sans installer d'application ?

Oui : Apache Spark / bibliothèques Avro fonctionne directement depuis le navigateur d'un smartphone ou d'une tablette, sans application dédiée à installer.

Pourquoi un fichier Avro reste-t-il lisible même après une évolution du schéma ?

Le schéma qui décrit la structure des données est stocké directement dans le fichier Avro lui-même : un lecteur peut donc toujours interpréter les anciens fichiers correctement même si le schéma utilisé par les nouveaux fichiers a évolué, à condition que les règles de compatibilité Avro (ajout de champs avec valeur par défaut, etc.) soient respectées.

SQLite, CSV, Parquet, Avro, ORC, Arrow : quel format choisir pour stocker ou échanger des données →

Un fichier ne s'ouvre pas : les causes possibles →

Comment savoir si un fichier est corrompu →

Sources

Dernière mise à jour :