Tecnologías de Stream Processing Código:  B0.486    Créditos:  6
Consulta de los datos generales   Descripción   La asignatura en el conjunto del plan de estudios   Campos profesionales en que se proyecta   Conocimientos previos   Objetivos y competencias   Contenidos   Consulta de los recursos de aprendizaje de la UOC para la asignatura   Metodología   Información sobre la evaluación en la UOC   Consulta del modelo de evaluación   Evaluación Contínua   Evaluación final   Feedback  
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 Big Data en el ámbito del análisis de datos en flujo.

Iniciaremos esta asignatura definiendo qué son los datos en Streaming y sus principales métodos de captura y análisis en sistemas clásicos. Continuaremos introduciendo el cambio de paradigma que supone su tratamiento en entornos Big Data y que arquitecturas se ofrecen a tal objetivo. Seguidamente, pasaremos al procesamiento en si de estos datos viendo las técnicas que se usan, como funcionan algunos de los principales algoritmos y que consideraciones debemos tener para diseñarlos. El siguiente bloque lo vamos a dedicar a comentar algunos de los aspectos prácticos de implementación de los sistemas incluyendo sistemas en Cloud. Finalizaremos la asignatura revisando las principales librerías Machine Learning con datos en Streaming viendo algunos de los algoritmos más clásicos y como estos varían cuando los datos llegan en flujo.

Amunt

Esta asignatura pertenece al conjunto de asignaturas del itinerario de Big Data en el Máster de Inteligencia de Negocio y Big Data Analytics.

Amunt

La asignatura proporciona conocimientos que serán de utilidad en diferentes ámbitos profesionales, como son el diseño de sistemas que requieran el uso de datos masivos en flujo, la ciencia de datos o la dirección/consultoría de proyectos basados en sistemas Big Data, entre otros.

Amunt

El curso requiere que los estudiantes tengan conocimientos de programación en lenguaje Python, así como conocimientos básicos de análisis de datos y aprendizaje automático.

Además, como la metodología incluye estudios de casos de uso y la investigación autónoma de información, es aconsejable que el estudiante esté familiarizado con la búsqueda de fuentes de información, 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 escrita.

Asimismo también es necesario que los estudiantes tengan la capacidad de leer y comprender el idioma inglés puesto que una parte de los materiales adicionales y otros recursos, están en dicho idioma.

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 análisis de datos en flujo en entornos Big Data.
  • Identificar los elementos tecnológicos necesarios en cualquier proyecto basado en el uso de datos en flujo en entornos Big Data.
  • Conocer las metodologías más adecuadas para la implementación de sistemas de Big Data para procesar datos en flujo.
  • Conocer las principales herramientas disponibles para la captura y análisis de datos en flujo,  especialmente de los ecosistemas de Apache.
  • Obtener suficiencia en la captura de datos mediante Apache Flume y Apache Kafka.
  • Conocer el funcionamiento básico de las principales herramientas y frameworks para el procesado de datos en flujo en entornos Big Data: Apache Spark, Spark Streaming, Apache Structured Streaming y Storm
  • Construir modelos que generen conocimiento como resultado del análisis de datos en flujo.

Amunt

La asignatura consta de 4 bloques temáticos, cada uno de los cuales apoyado por un material didáctico. El contenido asociado a cada bloque temático es el que se detalla a continuación:

1) Introducción al streaming y captura de datos en flujo

En este primer módulo primero introduciremos el concepto datos en flujo y discutiremos el cambio de paradigma que implica dicho concepto en la segunda parte del módulo trabajaremos los diferentes métodos de captura de datos en Streaming, no solo nos vamos a centrar en los métodos más tecnológicamente avanzados, sino que también trabajaremos los métodos clásicos. En la parte práctica del módulo trabajaremos dos métodos de captura de datos en flujo mediante una serie de ejercicios usando la api de Twitter.

2)  Módulo 2: Arquitecturas para los sistemas en streaming y su implementación

El objetivo de este módulo es tener una visión global de las diferentes tipologías y arquitecturas de un sistema Big Data para el análisis de datos en flujo. Vamos a empezar el módulo justificando la necesidad de arquitecturas específicas para el tratamiento de datos en flujo en entornos Big Data. Seguiremos describiendo qué características deben tener estas arquitecturas, describiendo posteriormente las dos las arquitecturas más comunes de implementación: Lambda y Kappa y también alguna de más específica. Finalizaremos, revisando como llevar a cabo una arquitectura de análisis de datos en flujo a la implementación real. Veremos aspectos técnicos y organizativos sobre la arquitectura Lambda y Kappa en sistemas on-premise y en cloud.

En la parte práctica del vamos a trabajar dos ejercicios. El primer ejercicio va orientado a trabajar un caso de uso actual. En segundo, más técnico, trabajaremos implementación de diversos métodos de captura de datos en streaming.

3) Técnicas de procesado y algoritmos para sistemas en streaming

En este módulo vamos a trabajar técnicas y algoritmos básicos para procesar datos en Streaming. Vamos a empezar viendo el procesado en formato micro-batch y con qué tipo de ventanas podemos trabajar en este entorno. Continuaremos viendo técnicas más avanzadas como las ventanas por sesión, los triggers, watermarks. Finalmente, para terminar la primera parte de este módulo vamos a trabajar sobre la dualidad tabla-stream que se da en el análisis de datos estructurados.

En la segunda parte del módulo veremos el cambio de paradigma en los algoritmos para procesar datos en Streaming donde los datos se vuelven obsoletos a medida que pasa el tiempo y lo que fuerza la necesidad de actualizar las estadísticas de forma incremental. Veremos los dos tipos principales de algoritmos: exactos y aproximados.

La parte práctica de este módulo va a extenderse hasta el final del semestre y vamos a trabajar tres de las tecnologías más usadas en el procesado de datos en flujo. Vamos a iniciar con la tecnología de Spark Streaming, una de las herramientas más consolidadas para el procesado de datos en flujo en entornos Big Data. Seguiremos con Spark. Structured Streaming que nos permitirá trabajar de manera muy cómoda y sencilla con datos estructurados. Finalmente, trabajaremos la tecnología Storm, uno de los mayores exponentes de la tecnología Lambda, que permite estructurar flujos de datos y transformaciones en un solo pipeline definido por un grafo acíclico.

4) Machine Learning con datos en Flujo

Finalmente, vamos a dedicar el último módulo de la asignatura 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 ejemplos a dos 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 su 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.

Amunt

Material Soporte
Espacio de recursos de ciencia de datos Web
Apache Flume. Documentación Audiovisual
Apache Flume. Configuración Audiovisual
Apache Flume. Implementación sources Audiovisual
Apache Flume. Agente Audiovisual

Amunt

Para entender el enfoque metodológico general se recomienda la lectura de este apartado y el siguiente, respecto el modelo de evaluación.

Además de lo que se ha explicado anteriormente, el consultor recordará al comienzo de cada semana los objetivos y competencias a desarrollar, así como los modelos de aprendizaje y de evaluación para cada parte cuando proceda. También se recomienda el seguimiento y participación en todas las discusiones y preguntas publicadas en el foro del aula.

Más concretamente, recomendamos el siguiente ciclo de estudios:

  • Leer y estudiar cuidadosamente cada módulo de aprendizaje y/o lectura recomendada.
  • Participar en el foro, iniciar debates formales o publicar informalmente mensajes y opiniones. El método de enseñanza promueve la colaboración entre los miembros del grupo. El consultor y el profesor responsable pueden participar excepcionalmente o para cerrar el debate en partes o en su totalidad.
  • Comenzar a preparar las pruebas y/o actividades con antelación. Se requerirá la consulta de diferentes materiales y, por lo general, no tienen una solución única. Justificar y argumentar la solución o las soluciones propuestas es más importante para la evaluación que tener una respuesta correcta.

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.


Ponderación de las calificaciones

Opción para superar la asignatura: EC

Nota final de asignatura: EC

Amunt

Este curso se evalúa únicamente a través de la evaluación continua, no hay examen final presencial ni actividad final de evaluación. Todas las actividades, tanto teóricas como prácticas, y la participación en las discusiones en el foro virtual son obligatorios. La evaluación consta básicamente en la resolución de ejercicios prácticos (80%) y cuestionarios para la evaluación de los contenidos teóricos (20%). A continuación, podemos ver un resumen de las diferentes pruebas y ejercicios y su puntuación:

  • Siete ejercicios de evaluación continua (PEC) con la siguiente ponderación:
    • PEC1 (Métodos de captura de datos) = 12 puntos
    • PEC2 (Captura con Flume y Kafka) = 20 puntos
    • PEC3 (Procesado con Spark Streaming) = 20 puntos
    • PEC4 (Procesado con Structured Streaming) = 20 puntos
    • PEC5 (Procesado con Storm) = 8 puntos
  • Cuatro cuestionarios autocorregidos sobre la teoría asociada a cada módulo. Se accede a los cuestionarios mediante el enlace a la plataforma Moodle integrada en el aula. Las condiciones de realización de los cuestionarios son las siguientes:
    • Cada cuestionario tiene entre 20 y 30 preguntas
    • El estudiante dispone de un máximo de 2 intentos en cada cuestionario
    • Cada cuestionario tiene un límite de tiempo de 30 minutos para su realización.
    • La nota de cada cuestionario será la nota máxima obtenida de ambos intentos.
    • Cada cuestionario individual representa 4 puntos de la nota final de la asignatura.

NOTA: La nota de las actividades que se entreguen con fecha posterior al límite será como máximo del 70% de la nota correspondiente cada una de las actividades. Descontando un 10% de la nota por día de retraso, hasta llegar al mínimo del 70% citado anteriormente.


NOTA: Los profesores se guardan el derecho de realizar entrevistas personales a los estudiantes para ajustar la nota fina de cada actividad a los conocimientos aprendidos. 


Advertencia: Es importante mencionar que la resolución de las pruebas, casos y prácticas propuestas se debe realizar de forma individual excepto cuando se indique lo contrario. El equipo docente tendrá en cuenta la lógica de las respuestas, el pensamiento individual y la capacidad de expresarse por escrito. Cualquier fuente externa usada para resolver las cuestiones y casos deberá indicarse claramente y ser referenciada adecuadamente. Si no fuera el caso, las actividades se evaluarán con una D. Por otro lado, siempre a criterio de la Universidad, el incumplimiento de esta obligación será comunicada a la gestión de los estudios, con el fin de evaluar si el estudiante está autorizado para aprobar cualquier otra materia o mediante una evaluación continua en el semestre o el siguiente.

Amunt

Esta asignatura únicamente se puede superar a través de la realización de los cuestionarios y entrega de las actividades propuestas a lo largo del semestre. La nota final de evaluación continua (EC) será la media ponderada de todas las actividades, según los pesos indicados en el apartado anterior.

Para aprobar la asignatura el estudiante debe alcanzar una nota igual o superior a 4 en todas las actividades propuestas.

Por otra parte, a lo largo del semestre, el consultor puede proponer discusiones o debates formales. La participación en calidad y cantidad en dichos debates también puede influir en la calificación final del semestre.

Recuperación de las Pruebas de Evaluación Continua (PEC)

La recuperación de las actividades se realizará de forma individual para cada actividad que no se haya entregado o aprobado.

Detalles del proceso de recuperación:

  • No existe una PEC de recuperación final. Las actividades se recuperan de forma individual.
  • La nota de las actividades que se entreguen con fecha posterior al límite será como máximo del 70% de la nota correspondiente cada una de las actividades. Descontando un 10% de la nota por día de retraso, hasta llegar al mínimo del 70% citado anteriormente.
  • Cualquier actividad entregada fuera de plazo (más allá de las 23:59 de la fecha límite propuesta) se considerará una entrega de recuperación.
  • La recuperación de las actividades no entregadas dentro de su fecha podrá entregarse a lo largo del semestre con las limitaciones sobre la nota citadas en los puntos anteriores.
  • Puede optar a la recuperación cualquier estudiante que: (1) no haya presentado la actividad dentro del plazo de entrega definido o (2) tenga una nota inferior a 5. Es decir, cualquier estudiante que tenga una nota de C-, D o NP en esta actividad.
  • Sólo es posible realizar una única entrega de recuperación, como máximo, de cada una de las actividades propuestas durante el curso y se corregirá dentro de las dos últimas semanas del semestre en curso. Consecuentemente la nota también se dará dentro de estas fechas.  

 

Amunt

A lo largo del semestre, el consultor os proporcionará retorno de vuestro progreso y se realizará una comunicación individual a aquellos estudiantes en riesgo de no superar el curso, según su evolución. En todo caso, podéis solicitar al consultor un retorno individual, tanto de vuestra evolución dentro del semestre, como de cada ejercicio individual. Las soluciones de los ejercicios no se van a publicar. También es posible ponerse en contacto con el profesor responsable del curso académico, si los comentarios y sugerencias recibidos por parte del consultor no son satisfactorios o no se está de acuerdo con ellos.

Amunt