Análisis en entornos de Big Data Código:  22.519    :  6
Consulta de los datos generales   Descripción   La asignatura en el conjunto del plan de estudios   Campos profesionales en el que se proyecta   Conocimientos previos   Información previa a la matrícula   Objetivos y competencias   Contenidos   Consulta de los recursos de aprendizaje de la UOC para la asignatura   Informaciones sobre la evaluación en la UOC   Consulta del modelo de evaluación  
Este es el plan docente de la asignatura para el segundo semestre del curso 2023-2024. Podéis consultar si la asignatura se ofrece este semestre en el espacio del campus Más UOC / La universidad / Planes de estudios). Una vez empiece la docencia, tenéis que consultarlo en el aula. El plan docente puede estar sujeto a cambios.

Esta asignatura constituye una introducción a las tecnologías relacionadas con los sistemas de análisis de Big Data (datos masivos). Iniciaremos esta asignatura revisando la perspectiva histórica que nos a llevado a la necesidad de desarrollar estos sistemas integrados para el análisis de datos masivos. Anclándonos en este punto inicial introduciremos el paradigma Big Data y los como se habilita a nivel práctico este procesado de datos: características y estructura.

Una vez establecidas las bases del paradigma Big Data nos adentraremos en las tres etapas básicas de todo análisis de datos: captura (y pre-procesado), almacenamiento, y procesado. En el estadio de captura trabajaremos distintas técnicas y tecnologías dependiendo de si los datos residen de forma estática en un almacenamiento (batch)  o bien llegan en flujo (streaming).  En relación con el almacenamiento introduciremos en paralelo los sistemas de ficheros distribuidos (HDFD) y las bases de datos NoSql, habitualmente usadas también para almacenar datos masivos (estructurados, semi-estructurados y no estructurados). Capturados y almacenados los datos están listos su procesamiento. En esta línea se trabajarán las técnicas básicas para el procesado de datos en batch y streaming, y con especial énfasis en el entorno Apache Spark. Finalmente, se introducirán al alumno a las arquitecturas Lambda y Kappa, que ofrecen al usuario un proceso integrado para el tratamiento de Big Data.

Una vez sentadas todas estas bases teóricas y practicas, revisaremos las herramientas Cloud que ofrecen los grandes proveedores (Amazon, Azure y Google Cloud) para el tratamiento de Big Data, asemejándolas a las estudiadas durante el curso en modo on-premise.

Amunt

Esta asignatura pertenece al conjunto de asignaturas obligatorias del Grado de Ciencia de Datos.

Amunt

Los conocimientos adquiridos serán de utilidad en diferentes ámbitos profesionales, como son la programación de sistemas que requieran el uso de datos masivos, la ciencia de datos, la dirección o consultoría de proyectos basados en sistemas Big Data, entre otros.

Amunt

El curso requiere que los estudiantes tengan conocimientos de:

  • Programación. Durante el curso se va a usar principalmente lenguaje Python, pero potencialmente se puede requerir el uso de Java, Scala, bash scripting, SQL o otros lenguajes para entender ejemplos i/o solucionar tareas concretas
  • Conocimientos básicos de análisis de datos
  • Técnicas básicas de aprendizaje automático
  • Redes de computadores. 

Además, la metodología incluye estudios de casos de usos concretos, lectura de documentación técnica oficial, artículos científicos y la búsqueda autónoma de información. En este aspecto es aconsejable que el estudiante esté familiarizado con el uso avanzado de buscadores de internet, el análisis de la información cuantitativa y cualitativa, la capacidad de sintetizar y obtener conclusiones, así como de poseer ciertas habilidades de comunicación oral y escrita. Asimismo, también es necesario que los estudiantes tengan la capacidad de leer y comprender documentos en inglés y castellano, puesto que una parte de los materiales adicionales y otros recursos, están en dichos idiomas.

Amunt

No aplica.

Amunt

Los objetivos que se desea que el estudiante alcance mediante esta asignatura son los siguientes:

  • Entender los conceptos y las definiciones formales asociadas al tratamiento de datos masivos, al paradigma Big Data y afines
  • Saber distinguir los casos de uso que requieren de la aplicación de tecnología Big Data y los que no
  • Identificar los elementos tecnológicos necesarios para desarrollar un proyecto basado en el uso de Big Data
  • Conocer las metodologías más adecuadas para la implementación de sistemas de Big Data
  • Conocer el funcionamiento básico de las principales herramientas y frameworks de Big Data para el tratamiento de datos en modo batch y streaming
  • Conocer las principales herramientas disponibles en el ecosistema de Big Data, especialmente de los ecosistemas de Apache Hadoop, Apache Spark.  También se desarrollarán competencias relacionadas con los servicios Cloud.
  • Obtener suficiencia en la construcción de modelos que generen conocimiento como resultado de un análisis basado en tecnología Big Data.

Amunt

La asignatura consta de 6 bloques temáticos, cada uno de los cuales se trabajará mediante material didáctico textual, audiovisual y con el desarrollo de actividades prácticas.

El contenido asociado a cada bloque temático es el que se detalla a continuación: 

1) Introducción al procesado de datos masivos y su análisis

En este primer bloque se revisarán los procesos históricos que han llevado a la necesidad de procesar grandes cantidades de datos y como se consigue sacar conocimiento de estos. Seguidamente, se introducirán una serie de conceptos básicos relacionados con la algoritmia y computación paralela que nos servirán como base a lo largo de curso.

2) Introducción al Big Data

En este segundo bloque se trabajará el concepto de Big Data discutiendo el cambio de paradigma que ha implicado dicho concepto. A continuación, se revisarán las características de un sistema Big Data para, finalmente, describir la estructura típica que toman estos sistemas.

3) Tratamiento batch de datos massivos

3.1) Captura, pre-procesamiento y almacenamiento de datos masivos

En el tercer bloque, conocernos las características básicas de los procesos de captura, pre-procesamiento y almacenamiento de datos en entornos Big Data para ser capaces de entender las peculiaridades que implica trabajar con Big Data en cada una de estas fases del análisis de datos. Trabajaremos las principales técnicas, herramientas y tecnologías que apoyan estos procesos.

Posteriormente, discutiremos el almacenaje y gestión de la información, centrándonos en el sistema de ficheros distribuido HDFS, los formatos de ficheros especiales para almacenar Big Data, los metastores, los sistemas de indexación y las bases de datos NoSQL.

3.2) Procesado de datos en modo batch

En el cuarto módulo trabajaremos las diferentes tipologías y arquitecturas de un sistema Big Data, siendo capaz de identificar qué arquitectura se debería implementar según las características de cada caso de uso, incluyendo las especificidades de datos y entornos. Posteriormente, introduciremos los dos sistemas principales de procesado distribuido, MapReduce y Apache Spark, haciendo énfasis en sus fortalezas y debilidades. Seguidamente definiremos las tareas que realizan los gestores de recursos, centrándonos a nivel práctico en Apache YARN, aunque a nivel teórico se trabajarán varios. Finalmente trabajaremos algunas de las herramientas que ofrece Apache Spark para habilitar el aprendizaje automático en entornos Big Data.

4) Gestores de recursos para el procesado de datos masivos

Es habitual que los recursos existentes en un sistema Big Data sean finitos y que al mismo tiempo múltiples los programas (o tareas) requieran usarlos. En esta situación acciones como las de priorizar las tareas, retener las que no dispongan de suficientes recursos en un momento dado, o incluso decomisionar programas con altas tasas de fallo son cuestiones clave para un uso eficiente de la infraestructura subyacente.

Los gestores de recursos se encargan de que los programas hagan un uso racional y equitativo de los recursos.

En este módulo vamos a ver los conceptos básicos de un gestor de recursos a nivel teóricos. En la parte práctica vamos a revisar el funcionamiento de Apache YARN, un gestor habitual en entornos Hadoop.

5) Automatización de processos

Cuando parte de un proceso entra en estadio de producción es habitual tener la necesidad de que se inicie y funcione de forma autónoma sin que nadie estéis presente. Incluso que dicho proceso disponga de cierta lógica secuencial y que se realicen acciones derivadas de un primer proceso inicial.

En este módulo vamos a revisar que herramientas hay disponibles y que ventajas ofrece cada una de ellas. Empezaremos revisando Apache Oozie, el planificador habitual en entornos Hadoop. Posterior veremos otros dos planificadores algo más versátiles y muy usados en la actualidad, Airflow y Apache Nifi.

6) Tratamiento de streams de datos en entornos Big Data

En este módulo trabajaremos las diferencias subyacentes al procesado de datos en flujo. De forma similar al procesado de datos en formato batch, trabajaremos los procesos principales de todo el pipeline de análisis: captura, almacenamiento y procesado. A continuación, trabajaremos en profundidad las arquitecturas comunes para este tipo de procesado: la Lambda y la Kappa. A nivel práctico trabajaremos: Flume, Kafka, Apache Spark y Structured Streaming. Según la evolución del curso, se podrá introducir a nivel opcional también Storm. En este módulo es probable que el alumno tenga que programar en diversos lenguajes de programación: Java, Python o Scala, aunque se priorizará Python.

7) Incremental learning

En este módulo de la asignatura vamos a revisar que oportunidades ofrece el campo del aprendizaje automático cuando los datos llegan en forma de flujo. Revisaremos los modelos supervisados y no supervisados, entrando en detalle, con dos ejemplos concretos: modelo de agrupamiento K-means (no supervisado) y la regresión lineal (supervisado).  Aunque el alumno ya conozca estos modelos, ampliamente usados, se va a mostrar que cuando los datos llegan en forma de flujo la manera de trabajar cambia substancialmente. Finalmente, vamos a revisar varios casos de uso que el alumno podrá trabajar para afianzar los conceptos vistos en este módulo final.

8) Tecnologías Big Data en el Cloud.

En el módulo final, se hará especial énfasis en las diferencias entre los sistemas on-premise y Cloud. El módulo se centrará en proveer al estudiante conocimientos de las tecnologías Cloud que permite procesar Big Data en modo Batch y Streaming.

Amunt

Espacio de recursos de ciencia de datos Web
Introducción a Spark con DataFrames y SparkSQL (SPARKSQL_DATAFRAMES_BASICO_PEC3) Audiovisual
Funcionamiento de las operaciones avanzadas con Spark (SPARKSQL_DATAFRAMES_AVANZADO_PEC4) Audiovisual
Introducción al entorno de trabajo, introducción a Hadoop y Spark (HDFS_PEC1) Audiovisual
Uso de dataframes con Apache Spark Audiovisual
Uso de RDDs con Apache Spark Audiovisual
Automatización de procesos big data con Oozie Audiovisual

Amunt

El proceso de evaluación se fundamenta en el trabajo personal de cada estudiante y presupone la autenticidad de la autoría y la originalidad de los ejercicios realizados.

La falta de autenticidad en la autoría o de originalidad de las pruebas de evaluación; la copia o el plagio; el intento fraudulento de obtener un resultado académico mejor; la colaboración, el encubrimiento o el favorecimiento de la copia, o la utilización de material o dispositivos no autorizados durante la evaluación, entre otras, son conductas irregulares que pueden tener consecuencias académicas y disciplinarias graves.

Por un lado, si se detecta alguna de estas conductas irregulares, puede comportar el suspenso (D/0) en las actividades evaluables que se definan en el plan docente - incluidas las pruebas finales - o en la calificación final de la asignatura, ya sea porque se han utilizado materiales o dispositivos no autorizados durante las pruebas, como redes sociales o buscadores de información en internet, porque se han copiado fragmentos de texto de una fuente externa (internet, apuntes, libros, artículos, trabajos o pruebas del resto de estudiantes, etc.) sin la correspondiente citación, o porque se ha practicado cualquier otra conducta irregular.

Por el otro, y de acuerdo con las normativas académicas, las conductas irregulares en la evaluación, además de comportar el suspenso de la asignatura, pueden dar lugar a la incoación de un procedimiento disciplinario y a la aplicación, si procede, de la sanción que corresponda.

La UOC se reserva la potestad de solicitar al estudiante que se identifique o que acredite la autoría de su trabajo a lo largo de todo el proceso de evaluación por los medios que establezca la universidad (síncronos o asíncronos). A estos efectos, la UOC puede exigir al estudiante el uso de un micrófono, una cámara u otras herramientas durante la evaluación y que este se asegure de que funcionan correctamente.

La verificación de los conocimientos para garantizar la autoría de la prueba no implicará en ningún caso una segunda evaluación.

Amunt

La asignatura solo puede aprobarse con el seguimiento y la superación de la evaluación continua (EC). La calificación final de la asignatura es la nota obtenida en la EC.

 

Amunt