Avro est un système de sérialisation de données développé dans le cadre du projet Apache Hadoop. Il fournit une structure de données riche, un format de données binaire compact et rapide, un fichier conteneur pour stocker des données persistantes, la capacité d'appel de procédure à distance (RPC - Remote Procedure Call) et une intégration simple avec les langages dynamiques. Avro utilise le format JSON pour définir les types de données et les protocoles, et sérialise les données dans un format binaire compact. Son utilisation principale se trouve dans l'écosystème Hadoop, où il est employé pour la sérialisation et les services d'échange de données. Avro est particulièrement adapté aux applications nécessitant une évolution du schéma (schema evolution), car il stocke le schéma avec les données. Cela permet aux lecteurs de traiter les données même si le schéma a été modifié depuis l'écriture des données. Les capacités d'évolution du schéma d'Avro, combinées à son format binaire efficace, en font un choix populaire pour le stockage et l'échange de données dans les environnements de big data. Il prend en charge les types de données complexes et est conçu pour être très performant tant pour la lecture que pour l'écriture de données. Les fichiers Avro sont fréquemment utilisés pour stocker de grands ensembles de données de manière distribuée.