Módulo 10: Procesamiento de datos escalable

Módulo 10: Procesamiento de datos escalable

Semana 28º y comenzamo con el Módulo 10: Procesamiento de datos escalable: machine learning y streaming, que nos llevará a la semana 30ª.

Este módulo será implantado por Antonio Jesús Nebro Urbaneja (antonio@lcc.uma.es) y Cristóbal Barba González (cbarba@lcc.uma.es).

Antonio Jesús Nebro es Dr. Ingeniero en Informática  (PhD in Computer Science) y Catedrático de Universidad (Full Professor). Experto en aplicación de técnicas de optimización y paralelismo en el contexto de aplicaciones del Big Data.
Página personal.

Cristóbal Barba González es experto en aplicación de la semántica al análisis del Big Data y en el desarrollo de matauristicas multiobjetivo. Página personal.

En este módulo se va a trabajar con tecnologías de procesamiento de datos escalables en dos ámbitos: machine learning y streaming. La primera semana se dedicará a SparkML, el componente de Spark que ofrece algoritmos de clasificación y clustering. En la segunda se estudiarán dos tecnologías: Spark structured streaming y Apache Flink. El objetivo del módulo es adquirir y asimilar los fundamentos básicos para poder desarrollar aplicaciones escalables con las herramientas estudiadas.

Tecnologías: Spark, Flink, Java, Python, Intellij Idea, PyCharm

Pre-Requisitos: Conocimientos básicos de programación en Java y Python y haber asimilado los contenidos del módulo de Spark.

Planificación docente:

Clase 1: Introducción a Spark ML. API basada en dataframes y los algoritmos de machine learning disponibles. Ejemplos con SVM y Kmeans.

Trabajo previo necesario:

Tarea 1 (Mandatory): Clustering usando el algoritmo bisecting kmeans.

Tarea 2 (Mandatory): Clasificación con árboles de decisión.

Clase 2: Spark ML avanzado. Pipelines. Extracción, transformación y selección de características.

Tarea 3 (Advanced): Clustering sobre datos de crímenes de Chicago desarrollando un notebook con Jupyter.

Tarea 4 (Advanced). Estudio del rendimiento computacional de algoritmos de Spark ML

Clase 3: Consolidación de conocimientos.

Tarea 5 (Challenge): Motor de recomendación de contenidos.

Clase 4: Introducción a Spark Structured Streaming. Conceptos básicos. Modelo de programación. Operaciones básicas

Trabajo previo necesario

  • Introducción a dataframes en Spark (https://databricks.com/blog/2015/02/17/introducing-dataframes-in-spark-for-large-scale-data-science.html)
  • Documentación sobre SQL, dataset y dataframes (https://spark.apache.org/docs/latest/sql-programming-guide.html)

Tarea 6 (Mandatory): Extracción de datos en streaming de plazas de aparcamientos públicos del portal de datos abiertos del ayuntamiento de Málaga.

Clase 5: Spark structured streaming avanzado. Operaciones con ventanas. Gestión de datos retrasados.

Tarea 7 (Advanced): Procesamiento de datos en streaming usando ventanas de tiempo.

Tarea 8 (Challenge): Análisis de datos de aparcamientos del ayuntamiento de Málaga. La aplicación deberá leer los datos con determinada frecuencia usando una ventana de tiempo y deberá realizar cálculos estadísticos en cada lectura de datos.

Clase 6: Introducción a Apache Flink. Conceptos básicos para procesamiento de datos en batch y en streaming.

Trabajo previo necesario

Tarea 9 (Advanced):  Análisis de datos usando Flink en una aplicación que simula la lectura de datos de temperaturas de sensores.

Related Posts

Deja un comentario