Вы находитесь на странице: 1из 6

Business Analytics & Big Data

1
Marco Teórico

Avro es un sistema de serialización de datos. En los proyectos en Hadoop,


suele haber grandes cantidades de datos, la serialización se usa para
procesarlos y almacenar estos datos, de forma que el rendimiento en tiempo
sea efectivo. Esta serialización puede ser en texto en plano, JSON, en
formato binario. Con Avro podemos almacenar y leer los datos fácilmente
desde diferentes lenguajes de programación. Está optimizado para minimizar
el espacio en disco necesario para nuestros datos.

Que entendemos por Serialización:

Es el proceso para almacenar un objeto en un dispositivo de


almacenamiento secundario. Almacenar un objeto en un archivo en el disco
duro, memoria USB, CD, etc.

Apache Avro

Apache Avro es un sistema de compresión diseñado por Apache para el


proyecto Hadoop para la serialización de datos que proporciona:

 Estructuras de datos complejas


 Un formato binario, compacto y rápido
 Un fichero contenedor, para guardar datos persistentes
 Llamada a procedimientos remotos (RPC: Remote Procedure Call1)

2
Los primeros usos de Avro en Hadoop son para tener un formato de
serialización persistente en HDFS e intercambiar información entre los nodos
del clúster a través de la red.

Avro es un formato open-source y se basa en esquemas. Cuando los


datos .avro son leídos siempre está presente el esquema con el que han
sido escritos. Esto permite aumentar el rendimiento al escribir los datos,
haciendo la serialización rápida y viable en espacio. También facilita el uso
de lenguajes dinámicos de scripting porque los datos se encuentran con su
esquema, lo que les hace auto-descriptivos.
Cuando los datos Avro están guardados en un fichero, su esquema también
lo está, así estos fichero podrán ser procesados por algún programa
después. Si el programa que está leyendo los datos espera un esquema
diferente, el problema podrá resolverse fácilmente ya que tendrá los dos
presentes.

Los esquemas de Avro están definidos en JSON para facilitar la


implementación en otros lenguajes que ya disponen de librerías JSON.
También indicar que soporta evolución de esquemas.
Los tipos de compresión recomendados con este formato son:

snappy
gzip
deflate
bzip2

Definición de un esquema:
Apache Spark SQL puede acceder a los ficheros con formato Avro.

3
CASO DE ESTUDIO: Cambios en los Esquemas de Datos USMP

1. Contexto

a. El área de sistemas de la Universidad Tecnológica del Perú


realiza mantenimientos a los sistemas transaccionales de la
empresa, parte del trabajo es generar data para distintas áreas
de la empresa.
b. Esta data se deposita en distintos repositorios que sirven de
input para otros procesos y/o productos que se ejecutan y
actualizan a diario.
c. Se depende mucho de la data generada por sistemas.

2. Problemática

a. Debido a ciertas necesidades del negocio se necesita


constantemente modificar los sistemas transaccionales en
especial los esquemas de datos, en algunos casos estos
cambios presentan problemas ya que afectan directamente a
las otras áreas es decir la data que generamos provoca que los
proceso de otras áreas fallen

3. Diseño

a. Crear una pequeña arquitectura de big data.


b. Utilizar Avro para que los cambios en esquemas de datos no
afecten a los procesos y no se caigan.

4. Explicación

a. Avro soporta el manejo de la evolución de los esquemas de


datos, entonces si encuentra algún cambio en ello este debe
ser manejado.
b. Por ejemplo, hasta el año 2005 se consideraba que como
máximo que un alumno podía tener 6 notas, luego por reglas
del negocio se cambió el esquema de datos a 9 notas es decir
se agregaron 3 items más.
c. Entonces hay un cambio en este esquema de datos que Avro
tiene que manejar de ahora en adelante los campos de
NOTA7, NOTA8 y NOTA9 tendrán algún valor, la data histórica
se completará con un valor por defecto, si es un string 
“”(vacío), si es entero  -1
d. Todo esto con el fin de evitar la caída del proceso.

4
5. Conclusión
a. Permite la continuidad del negocio y el cambio dinámico
flexible de los esquemas de datos.
b. Ahorra tiempos en la programación ya que no hay que agregar
condicionales para tratar la data de manera diferente para
fechas anteriores y posteriores al cambio en los esquemas de
datos.
c. Por lo tanto, en resumen, la evolución del esquema ayuda a los
clientes más nuevos a leer formatos más antiguos al usar la
conversión de formato automático y también ayuda a los
clientes antiguos a suspender el procesamiento de manera
elegante hasta que se les haya permitido comprender formatos
más nuevos.

Bibliografia

5
APACHE. Apache Avro [en línea]. Los Ángeles: Apache Software Foundation
[citado 15 noviembre, 2018]. Disponible en internet:

BBVA. Big Data: ¿En qué punto estamos? [en línea]. Bogotá: BBVA [citado 715
Noviembre, 2018]. Disponible en internet:

Linkedin.Cómo elegir un formato de Archivo para Gestión de Datos en Hadoop [en


linea].Linkedin org [citado 15 noviembre, 2018]. Disponible en internet:

ORACLE. Oracle NoSQL Database [en línea]. California: Oracle [citado 18


septiembre, 2013]. Disponible en internet:

PROGRESS DATADERICT. Using XQuery [en línea]. Massachusetts: DataDirect


Technologies [citado 23 de octubre, 2013]. Disponible en internet:

ROUTLEDGE. Critical questions for Big data [en línea]. Cambridge: Danah Boyd &
Kate Crawford [citado 29 septiembre, 2013]. Disponible en internet:

SEARCHNETWORKING. Master/slave [en línea]. Massachusetts: Margaret Rouse


[citado 23 de octubre, 2013]. Disponible en internet:

Вам также может понравиться