Saltar al contenido

Materia optativa: Programación Distribuida sobre Grandes Volúmenes de Datos

Parte I

Módulo 1 – Introducción (2 hs)

1. Introducción a Big Data: Marco histórico. Necesidad de análisis sobre grandes volúmenes de información. Data flow vs. network programming tradicional. Patrones de programación. Limitaciones de MapReduce.

2. Primer uso de Apache Spark con interface Zeppelin.

Módulo 2 – Resilient Distributed Dataset (RDD) (2 hs)

1. RDDs: Creación. Transformaciones. Acciones.

2. Evaluación lazy. Persistencia. Tolerancia a fallas.

Módulo 3 – Conceptos de Computación Distribuida (2hs)

1. Datos indexados distribuidos.

2. Computación distribuida: nodos, ejecutores, grafo de ejecución, tareas, jobs, etapas, particiones.

Módulo 4 – Interfaz SQL (2hs)

1. Datasets, Dataframes.

2. Conectores. Uso de datos externos, Base de Datos y Data Warehouse.

Parte II

Módulo 5 – ML sobre Grandes Volúmenes de Datos (4 hs)

1. Pipelines.

2. Extracción y selección de características.

3. Métodos de clasificación y clustering.

4. Selección de modelos e hiperparámetros.

Módulo 6 Análisis de Grandes Redes Sociales (4 hs)

1. Interfaz SQL para redes (GraphFrames).

2. Pasaje de mensajes.

3. Búsqueda Motif.

4. Algoritmos: BFS, Componentes Conexas, Page Rank, LPA, Shortest Paths.

Equipo docente

Damián Barsotti

Bibliografía

Andy Konwinski, Holden Karau, Matei Zaharia, and Patrick Wendell. Learning Spark: Lightning-Fast Big Data Analysis. O’Reilly Media, Inc. 2015.

Holden Karau, Rachel Warren. High Performance Spark. O’Reilly Media, Inc. 2017.

Rajdeep Dua, Manpreet Singh Ghotra, Nick Pentreath. Machine Learning with Spark. Second Edition. 2017.

Josh Wills, Sandy Ryza, Sean Owen, and Uri Laserson. Advanced Analytics with Spark. 2015.

Carga horaria

16 horas sincrónicas + 8 horas de apoyo.

Método de evaluación

Trabajos prácticos a presentar en notebooks Zeppelin.