Tutorial: Big Data – Programación con Apache Spark

Tomás Fernández Pena

Descripción:

El objetivo de este curso es introducir la programación Apache Spark, la solución más eficiente y popular para procesar enormes cantidades de datos en clusters de cientos de máquinas. Spark es hasta 100 veces más rápido que Apache Hadoop si el procesamiento se hace en memoria y 10 veces más rápido si se hace en disco. Spark se puede ejecutar en un PC simple, en un cluster con Hadoop YARN o Apache Mesos, o en la nube, con soluciones como Amazon Elastic MapReduce o Microsoft HDInsight. Y puede acceder a datos almacenados el HDFS, Cassandra, HBase, Hive, Tachyon y cualquier fuente de datos accesible por Hadoop.

Spark es fácil de usar, y permite utilizar diferentes lenguajes de programación, en concreto Python, Scala, Java o R. Este curso se centrará en la versión Python, también denominada PySpark, y hará uso de Apache Zeppelin como herramienta de desarrollo y visualización.

El curso se centra en el elemento básicos de la programación Spark: los RDDs o Resilient Distributed DataSets. Veremos como crearlos, transformarlos y operar con ellos para procesar nuestros archivos. Continuaremos viendo aspectos avanzados para mejorar y optimizar nuestros códigos Spark y, por último, haremos una breve introducción al conjunto de soluciones de alto nivel de Spark: Spark SQL, Spark Streaming, ML y GraphX.

Programa:

  1. Introducción a Apache Spark.
  2. Introducción a los RDDs. Principales transformaciones y acciones.
  3. RDDs con pares clave-valory RDDs numéricos.
  4. Persistencia y particionado.
  5. Lectura y escritura de ficheros y ejecución de scripts.
  6. Otros aspectos avanzados.
  7. Introducción a soluciones de alto nivel: Spark SQL, Spark Streaming, Spark ML, Spark GraphX.

Biografía:

Licenciado en Física en la Universidad de Santiago de Compostela (USC) en el año 1989 y y doctor por la misma Universidad desde 1994. Desde 1990 hasta 1994 fui profesor en la Facultad de Informática de la Universidad de A Coruña. Desde 1994 soy profesor titular en el Departamento de Electrónica y Computación de la Universidad de Santiago de Compostela. Soy miembro del CiTIUS (Centro de Investigación en Tecnologías de la Información) de la USC desde 2010.

Mis principales líneas de interés incluyen la computación de altas prestaciones, la arquitectura de sistemas paralelos, el desarrollo de algoritmos paralelos para clusters y supercomputadores, la optimización de rendimiento en problemas irregulares y con matrices dispersas, la predicción y mejora del rendimiento de aplicaciones paralelas en general, el desarrollo de aplicaciones y middleware para sistemas grid y cloud y las tecnologías Big Data aplicadas al procesamiento del lenguage natural, la bioinformática, la chemioinformática y aplicaciones científicas en general. Actualmente soy Senior Member del IEEE y editor asociado de la revista IEEE Transactions on Computers.

Tutorial: Deep Learning con TensorFlow

Andrés Ortíz García

Descripción:

El objetivo de este tutorial es la introducción al aprendizaje profundo (deep learning), una técnica de aprendizaje de máquina (machine learning) que puede utilizarse para el modelado, clasificación y generación de datos. En los últimos años, diferentes grupos de investigación han conseguido resultados impresionantes en diferentes campos, por ejemplo en el procesamiento y clasificación de imágenes utilizando métodos basados en deep learning.
Los últimos avances en este campo han proporcionado algoritmos de aprendizaje eficientes para arquitecturas neuronales con múltiples capas, permitiendo la construcción de modelos complejos. El uso de múltiples capas permite, además, extraer representaciones de los datos en diferentes niveles de abstracción, modelo de aprendizaje y representación de los datos que está inspirado en el funcionamiento del cerebro animal.
Con el áuge de las técnicas basadas en deep learning, han surgido diferentes librerías para programar estas estructuras. Una de las más conocidas y extendidas es Tensorflow, desarrollada por Google y liberada en 2015. En este curso, se introduce al modelo de programación de Tensorflow y se muestran sus elementos básicos para la implementación eficiente de redes neuronales profundas mediante la API en Python.
Finalmente, se implementará una red neuronal convolucional para la clasificación de imágenes y se explicarán los aspectos fundamentales de construcción de este tipo de redes, su optimización para aprovechar el paralelismo presente en las máquinas actuales (múltiples núcleos y/o GPUs) su evaluación.

Programa:

  1. Introducción a Deep Learning (aprox. 30’)
  2. Introducción a Tensorflow y al uso de GPUs para deep learning (aprox. 30’)
  3. Redes neuronales convolucionales (aprox. 30’)
  4. Implementación de una red neuronal convolucional: python + tensorflow
    4.1. Clasificación de imágenes con una red convolucional
    4.2. Evaluación del modelo y medida de prestaciones
    4.3. Ejercicio. Modificación de la arquitectura inicial y evaluación

Biografía:

Andrés Ortiz García es Ingeniero en Electrónica (2000), Doctor Europeo por la Universidad de Granada (2008) y Doctor por la Universidad de Cádiz (2012). Desde 2004 ha desarrollado su labor docente e investigadora en el Departamento de Ingeniería de Comunicaciones de la Universidad de Málaga. Ha realizado estancias de investigación en Universidades de España y del extranjero. Ha participado en 10 proyectos de investigación obtenidos en convocatorias competitivas. Es coautor de más de 80 artículos científicos en revistas y congresos internacionales en los ámbitos del procesamiento paralelo, sistemas inteligentes y procesamiento de datos y señales biomédicas. Desde 2000 a 2004 ha trabajado en Telefónica Móviles S.A. como Ingeniero de Redes y Sistemas, realizando tareas de análisis de datos de rendimiento de las redes GSM, 3G y datos. Es revisor de varias revistas indexadas en JCR y pertenece al comité técnico de varios congresos internacionales en las áreas de procesamiento de señales biomédicas, reconocimiento de patrones, neurociencias y redes de computadores.

Los comentarios están cerrados.