¿Qué es Apache Avro?

Avro es un proyecto de código abierto que proporciona servicios de serialización e intercambio de datos para Apache Hadoop. Estos servicios se pueden emplear juntos o de forma independiente.

Avro facilita el intercambio de big data entre programas escritos en cualquier lenguaje. Con el servicio de serialización, los programas pueden serializar eficazmente los datos en archivos o en mensajes. El almacenamiento de datos es compacto y eficiente. Avro almacena tanto la definición de datos como los datos juntos en un mensaje o archivo.

Avro almacena la definición de datos en formato JSON, lo que facilita su lectura e interpretación. Los datos en sí se almacenan en formato binario, lo que los hace compactos y eficientes. Los archivos Avro incluyen marcadores que se pueden usar para dividir grandes conjuntos de datos en subconjuntos adecuados para el procesamiento de Apache MapReduce. Algunos servicios de intercambio de datos usan un generador de código para interpretar la definición de datos y producir código para acceder a los datos. Avro no requiere este paso, por lo que es ideal para lenguajes de scripting.

Una característica clave de Avro es el soporte robusto para esquemas de datos que cambian con el tiempo, a menudo denominado evolución del esquema. Avro maneja los cambios de esquema, como campos faltantes, campos agregados y campos modificados; como resultado, los programas antiguos pueden leer datos nuevos y los programas nuevos pueden leer datos antiguos. Avro incluye API para Java, Python, Ruby, C, C++, entre otros. Los datos almacenados con Avro pueden pasar de programas escritos en diferentes lenguajes, incluso de un lenguaje compilado como, C a un lenguaje de scripting, como Apache Pig.

Soluciones relacionadas
Genere analytics mejores y más rápidos con las soluciones Hadoop de IBM

IBM y Cloudera se asociaron para ofrecer una distribución de Hadoop de nivel empresarial líder en la industria, que incluye un ecosistema integrado de productos y servicios para admitir analytics más rápidos a escala.

Explorar las oportunidades de big data con IBM
Dé el siguiente paso

Escale cargas de trabajo de IA para todos sus datos, en cualquier lugar, con IBM watsonx.data, un almacén de datos adecuado para su propósito creado sobre una arquitectura de lakehouse de datos abierta.

Explore watsonx.data Reserve una demostración en vivo