Avro est un système de sérialisation de données développé au sein 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, des capacités d'appel de procédure à distance (RPC) et une intégration simple avec les langages dynamiques. Avro utilise 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 situe dans Hadoop, où il est employé pour la sérialisation des données et les services d'échange de données. Avro est particulièrement bien adapté aux applications nécessitant une évolution de 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 changé depuis l'écriture des données. Les capacités d'évolution de 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 en lecture qu'en écriture de données. Les fichiers Avro sont souvent utilisés pour stocker de grands ensembles de données de manière distribuée.