Apache Avro

Proporciona servicios de serialización e intercambio de datos para Apache Hadoop

Close up of hands contemporary website developer man typing and writing code for program website and working with partner in office.

¿Qué es 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 utilizar juntos o separados. Avro facilita el intercambio de big data entre programas escritos en cualquier lenguaje. Con el servicio de serialización, los programas pueden serializar datos de manera eficiente en archivos o 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 utilizan 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, lo que lo hace ideal para lenguajes de script.

Una de las características principales de Avro es su sólida compatibilidad con esquemas de datos que cambian con el tiempo, lo que a menudo se denomina evolución de esquema. Avro gestiona 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++ y más. Los datos almacenados con Avro se pueden pasar de programas escritos en diferentes lenguajes, incluso de un lenguaje compilado como C a un lenguaje de script como Apache Pig.


Soluciones relacionadas

Impulse una analítica mejor y más rápida con las soluciones Hadoop de IBM

IBM y Cloudera se han asociado para ofrecer una distribución de Hadoop de nivel empresarial líder de la industria, que incluye un ecosistema integrado de productos y servicios para apoyar la analítica más rápida a escala.