🍋
Menu
.avro Data

Apache Avro (Sérialisation basée sur les lignes)

Apache Avro est un format de sérialisation basé sur les lignes conçu pour les échanges de données et le stockage dans l'écosystème Hadoop. Il utilise JSON pour les définitions de schéma et un format binaire compact pour les données.

Type MIME

application/avro

Type

Binaire

Compression

Sans perte

Avantages

  • + Schema evolution — add/remove fields without breaking readers
  • + Compact binary encoding with efficient compression
  • + Self-describing — schema embedded in the file
  • + Standard in Kafka and the Hadoop ecosystem

Inconvénients

  • Row-based — less efficient than Parquet for analytical queries
  • Not human-readable in binary form
  • JSON schema specification has a learning curve

Quand utiliser .AVRO

Utilisez Avro pour les sujets Kafka, les pipelines de données Hadoop, la communication RPC entre services et lorsque l'évolution des schémas est importante. Préférez Parquet pour le stockage analytique.

Détails techniques

Avro utilise des schémas JSON définissant les types d'enregistrements avec des champs nommés et des valeurs par défaut pour l'évolution. Le format binaire utilise l'encodage variable-length avec l'écriture en blocs et une compression optionnelle (deflate, snappy). Le schéma est intégré dans les fichiers conteneurs.

Historique

Doug Cutting (créateur d'Hadoop) a développé Avro en 2009 comme un format de sérialisation compatible avec Hadoop qui prend en charge l'évolution des schémas. Il est devenu le format par défaut pour les sujets Apache Kafka et les pipelines d'ingestion de données.

Convertir depuis .AVRO

Convertir en .AVRO

Formats associés