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 primer semestre del curso 2024-2025. 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 el desarrollo de actividades prácticas.

El contenido asociado a cada bloque temático es el siguiente:

1) La Evolución del Análisis de Datos: Del Pasado Manual a la Supercomputación

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

2) Descubriendo el Big Data: Captura, Almacenamiento ¡y Más!

En este segundo bloque se trabajará el concepto de Big Data, discutiendo el cambio de paradigma que ha implicado este 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 masivos

3.1) Captura, pre-procesamiento y almacenamiento de datos masivos
En el tercer bloque, trabajaremos 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 respaldan estos procesos.
Posteriormente, discutiremos el almacenamiento y la gestión de la información, centrándonos en el sistema de archivos distribuido HDFS, los formatos de archivos especiales para almacenar Big Data, los metastores, los sistemas de indexación y las bases de datos NoSQL.

3.2) Gestores de recursos para el procesamiento de datos masivos
Es habitual que los recursos existentes en un sistema Big Data sean finitos y que al mismo tiempo múltiples programas (o tareas) requieran usarlos. En esta situación, acciones como priorizar las tareas, retener aquellas que no disponen de suficientes recursos en un momento dado, o incluso descomisionar programas con altas tasas de falla 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 veremos los conceptos básicos de un gestor de recursos a nivel teórico, revisando con más detalle el funcionamiento de Apache YARN, un gestor habitual en entornos Hadoop.

3.3) Automatización de procesos
Cuando parte de un proceso entra en estado de producción, es habitual tener la necesidad de que se inicie y funcione de forma autónoma sin que nadie esté pendiente. Incluso si este proceso dispone de cierta lógica secuencial y se realizan acciones derivadas de un primer proceso inicial.
En este módulo revisaremos las herramientas disponibles y qué ventajas ofrece cada una de ellas. Comenzaremos revisando Apache Oozie, el planificador habitual en entornos Hadoop. Luego veremos otros dos planificadores un poco más versátiles y muy usados en la actualidad, Airflow y Apache Nifi.

4) Tratamiento de flujos de datos en entornos Big Data

4.1) Tratamiento de flujos de datos en entornos Big Data
En este módulo trabajaremos las diferencias subyacentes para el procesamiento de datos en flujo. De manera similar al procesamiento de datos en formato batch, trabajaremos los procesos principales de todo el pipeline de análisis: captura, almacenamiento y procesamiento. A continuación, trabajaremos en profundidad las arquitecturas comunes para este tipo de procesamiento: la Lambda y la Kappa. A nivel práctico trabajaremos: Flume, Kafka, Apache Spark. Según la evolución del curso, se podrá introducir opcionalmente: Structured Streaming y Storm. En este módulo es probable que el alumno deba programar en varios lenguajes de programación: Java, Python o Scala, aunque se priorizará el uso de Python.

4.1) Aprendizaje incremental
En este módulo de la asignatura revisaremos las oportunidades que 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 en dos ejemplos concretos: el modelo de agrupamiento K-means (no supervisado) y la regresión lineal (supervisada). Aunque el alumno ya conozca estos modelos, ampliamente utilizados, veremos que la forma de trabajar con ellos cambia sustancialmente cuando los datos llegan en flujo. Finalmente, revisaremos varios casos de uso que el alumno podrá trabajar para consolidar los conceptos vistos en este módulo.

5) Big Data en la Nube: Los Nuevos Superpoderes del Análisis de Datos

En este módulo final, se hará especial énfasis en las diferencias entre los sistemas on-premise y en la nube. El módulo se centrará en proporcionar al estudiante conocimientos sobre las tecnologías en la nube que permiten procesar Big Data en modo Batch y Streaming.

6) Exploración y Análisis de las Tendencias Innovadoras en Big Data

El objetivo de este módulo es que los estudiantes exploren las tendencias más recientes en el campo del Big Data, manteniéndose al día en un área en constante evolución y desarrollando una comprensión más profunda de las posibilidades del análisis de datos a gran escala. Los estudiantes trabajan en equipos para investigar y analizar una tendencia emergente en el campo del Big Data, identificando su relevancia, estado actual y aplicaciones, y presentando sus hallazgos de manera colaborativa. Esta actividad promueve la comprensión de las innovaciones en el tratamiento de datos masivos y su aplicación en diversos contextos.

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 del 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, software o dispositivos no autorizados durante la evaluación, entre otras, son conductas irregulares en la evaluación que pueden tener consecuencias académicas y disciplinarias graves.

Estas conductas irregulares pueden 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, sea porque se han utilizado materiales, software o dispositivos no autorizados durante las pruebas, como por ejemplo 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 de otros estudiantes, etc.) sin la citación correspondiente, o porque se ha llevado a cabo cualquier otra conducta irregular.

Así mismo, y de acuerdo con la normativa académica, las conductas irregulares en la evaluación también pueden dar lugar a la incoación de un procedimiento disciplinario y a la aplicación, si procede, de la sanción que corresponda, de conformidad con lo establecido en la normativa de convivencia de la UOC.

En el marco del proceso de evaluación, la UOC se reserva la potestad de:

  • Solicitar al estudiante que acredite su identidad según lo establecido en la normativa académica.
  • Solicitar al estudiante que acredite la autoría de su trabajo a lo largo de todo el proceso de evaluación, tanto evaluación continua como evaluación final, por medio de una prueba oral o los medios síncronos o asíncronos que establezca la universidad. Estos medios tendrán por objeto verificar los conocimientos y las competencias que garanticen la autoría; en ningún caso implicarán una segunda evaluación. Si no es posible garantizar la autoría del estudiante, la prueba será calificada con D, en el caso de la evaluación continua, o con un Suspenso, en el caso de la evaluación final.

    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; será responsabilidad del estudiante asegurar que tales dispositivos funcionan correctamente.

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