Avro è un sistema di serializzazione dei dati sviluppato all'interno del progetto Apache Hadoop. Fornisce una struttura dati ricca, un formato dati binario compatto e veloce, un file contenitore per archiviare dati persistenti, la funzionalità di chiamata di procedura remota (RPC - Remote Procedure Call) e una semplice integrazione con linguaggi dinamici. Avro utilizza JSON per definire i tipi di dati e i protocolli, e serializza i dati in un formato binario compatto. Il suo utilizzo primario è all'interno dell'ecosistema Hadoop, dove viene impiegato per la serializzazione e i servizi di scambio dati. Avro è particolarmente adatto per applicazioni che richiedono l'evoluzione dello schema (schema evolution), poiché memorizza lo schema insieme ai dati. Ciò permette ai lettori di elaborare i dati anche se lo schema è cambiato da quando i dati sono stati scritti. Le capacità di evoluzione dello schema di Avro, combinate con il suo efficiente formato binario, lo rendono una scelta popolare per l'archiviazione e lo scambio di dati negli ambienti big data. Supporta tipi di dati complessi ed è progettato per essere altamente performante sia per la lettura che per la scrittura dei dati. I file Avro sono spesso utilizzati per archiviare grandi set di dati in modo distribuito.