Mi primer conferencia en RIIAA

Arturo Gonzalez
5 min readAug 25, 2020

Estoy muy contento de poder participar en RIIAA el evento mas importante de inteligencia artificial y ciencia de datos en latinoamerica, impartiendo un taller con nombre “implementando una arquitectura de procesamiento de big data sobre AWS”.

En este taller veremos como crear una arquitectura de procesamiento sobre AWS con Databricks con modelos de procesamiento en Batch, así como la visualización de los resultados en un conjunto de dashboards.

El procesamiento será de datos provenientes de sensores instalados en una fábrica. Se calculará el consumo eléctrico a partir de lecturas cada 3 segundos.

Algunos servicios de procesamiento de Datos en AWS

Ambiente de Databricks

https://databricks.com/aws

Paso 1: Abrir cuenta en portal de Databricks

Ingresar a https://databricks.com/ y darle inicio al boton GET STARTED

Los llevará al siguiente formulario:

Llenen sus datos y registrense. Una vez registrados, les tendrá que llegar un correo de Databricks de confirmación con un URL especificado, el cual tendremos que copiar y pegar en nuestro navegador.

Una vez pegado el URL en nuestro navegador, nos pedirá reiniciar contraseña, hacerlo y avanzar al siguiente paso.

Una vez registrados podrán loggearse al portal de databricks y tendrán acceso a la pantalla principal de databricks y podremos empezar a trabajar.

Paso 2: Levantar Infraestructura de Procesamiento

Ya que tenemos nuestro espacio de trabajo habilitado y que tenemos un panorama general del entorno de databricks, comencemos creando un clúster que es la infraestructura sobre la cual se llevara a cabo nuestro procesamiento.

Damos clic en crear nuevo clúster lo que nos llevara a la siguiente pantalla. Dado que estamos en una versión community tenemos acotada la infraestructura a un “cluster” de 15 gigabytes de memoria Ram y 8 Cores.

Ingresamos los parámetros que nos pide el clúster como el nombre y la availablity zone (AWS) y creamos el clúster. Este proceso tarda algunos segundos.

Paso 3: Importar datos de Data Lake en AWS (s3)

Una vez teniendo la infraestructura levantada sobre la cual vamos a trabajar, creamos un nuevo notebook y pasamos a montar nuestro bucket a dbfs ingresando el siguiente código en la primera celda. Las claves de acceso se especificaran en el taller.

Montando buckets de s3 a dbfs

Verificamos que se tenga acceso a la información dentro del bucket ejecutando el siguiente comando:

Ante lo cual deberíamos poder visualizar los archivos dentro del bucket y ya estamos listos para empezar a hacer nuestra exploración de los datos.

Paso 4: Explorando los datos

Ya que se cuenta con los datos montados sobre dbfs procedemos a explorar la información con la que se cuenta. Ejecutamos el siguiente comando en otra celdas del notebook.

Obteniendo el siguiente resultado

Paso 5: Ejercicio Batch

En esta parte calculamos el consumo (wh) y la demanda facturable (kw) eléctrica a partir de lecturas cada 5 segundos del voltaje y corriente eléctrica y se mapea al horario tarifario impuesto por la CFE: Horario base, punta e intermedio.

Consumo = Total de Energía Consumida se mide en kilowatt-hora.

Demanda Facturable = Pico de consumo en intervalos de 15 minutos.

Total a pagar: Consumo + Demanda Facturable

Ejecutamos el siguiente query en nuestro notebook para obtener el consumo de energía

Lo cual debería arrojarnos la siguiente información correspondiente al consumo de energía por hora en kwh

Guardamos la información en una ruta del bucket de s3 cargada (esto solo lo podre hacer yo) dado que se necesitan permisos de escritura.

Paso 6: Visualización de datos mediante quicksight

Una vez que se tiene la información almacenada en s3 podemos proceder a realizar visualizaciones con nuestros resultados. En AWS el servicio para hacer esto se llama QuickSight.

Arquitectura de Quicksight + SPICE

Dentro de la consola de AWS seleccionamos el servicio de Quicksight el cual nos abre la siguiente pantalla.

Primero importaremos un dataset seleccionando la opción de la barra lateral izquierda, la cual nos lleva a la siguiente pantalla.

Seleccionamos s3 y nos llevara a la siguiente pantalla

Agregamos la fuente de datos así como el archivo manifesto que es para especificar la conectividad con quicksight

Importamos los datos y finalmente podemos iniciar con nuestras visualizaciones para posteriormente compartirlas en cualquier pagina web, a modo de ejemplo dejo la siguiente imagen:

--

--