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

En la UOC, la evaluación generalmente es virtual. Se estructura en torno a la evaluación continua, que incluye diferentes actividades o retos; la evaluación final, que se lleva a cabo mediante pruebas o exámenes, y el trabajo final de la titulación.

Las actividades o pruebas de evaluación pueden ser escritas y/o audiovisuales, con preguntas aleatorias, pruebas orales síncronas o asíncronas, etc., de acuerdo con lo que decida cada equipo docente. Los trabajos finales representan el cierre de un proceso formativo que implica la realización de un trabajo original y tutorizado que tiene como objetivo demostrar la adquisición competencial hecha a lo largo del programa.

Para verificar la identidad del estudiante y la autoría de las pruebas de evaluación, la UOC se reserva la potestad de aplicar diferentes sistemas de reconocimiento de la identidad y de detección del plagio. Con este objetivo, la UOC puede llevar a cabo grabación audiovisual o usar métodos o técnicas de supervisión durante la ejecución de cualquier actividad académica.

Asimismo, la UOC puede exigir al estudiante el uso de dispositivos electrónicos (micrófonos, cámaras u otras herramientas) o software específico durante la evaluación. Es responsabilidad del estudiante asegurar que estos dispositivos funcionan correctamente.

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 las actividades académicas. La web sobre integridad académica y plagio de la UOC contiene información al respecto.

La falta de autenticidad en la autoría o de originalidad de las pruebas de evaluación; la copia o el plagio; la suplantación de identidad; la aceptación o la obtención de cualquier actividad académica a cambio o no de una contraprestación; la colaboración, el encubrimiento o el favorecimiento de la copia, o el uso de material, software o dispositivos no autorizados en el plan docente o el enunciado de la actividad académica, incluida la inteligencia artificial y la traducción automática, entre otras, son conductas irregulares en la evaluación que pueden tener consecuencias académicas y disciplinarias graves.

Estas conductas irregulares pueden conllevar el suspenso (D/0) en las actividades evaluables definidas en el plan docente -incluidas las pruebas finales- o en la calificación final de la asignatura, ya sea porque se han utilizado materiales, software o dispositivos no autorizados durante las pruebas (como el uso de inteligencia artificial no permitida, 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, por la compraventa de actividades académicas, o porque se ha llevado a cabo cualquier otra conducta irregular.

Asimismo, 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 en la evaluación continua como en la evaluación final, a través de una entrevista oral síncrona, que puede ser objeto de grabación audiovisual, o por los medios establecidos por la UOC. Estos medios tienen el objetivo de verificar los conocimientos y las competencias que garanticen la identidad del estudiante. Si no es posible garantizar que el estudiante es el autor de la prueba, esta puede ser calificada con una D, en el caso de la evaluación continua, o con un suspenso, en el caso de la evaluación final.

Inteligencia artificial en el marco de la evaluación

La UOC reconoce el valor y el potencial de la inteligencia artificial (IA) en el ámbito educativo y, a su vez, pone de manifiesto los riesgos que supone si no se utiliza de forma ética, crítica y responsable. En este sentido, en cada actividad de evaluación se informará al estudiantado sobre las herramientas y los recursos de IA que se pueden utilizar y en qué condiciones. Por su parte, el estudiantado se compromete a seguir las indicaciones de la UOC a la hora de realizar las actividades de evaluación y de citar las herramientas utilizadas y, concretamente, a identificar los textos o imágenes generados por sistemas de IA, los cuales no podrá presentar como si fueran propios.

Respecto a usar o no la IA para resolver una actividad, el enunciado de las actividades de evaluación indica las limitaciones en el uso de estas herramientas. Debe tenerse en cuenta que usarlas de manera inadecuada, como por ejemplo en actividades en las que no están permitidas o no citarlas en las actividades en las que sí lo están, puede considerarse una conducta irregular en la evaluación. En caso de duda, se recomienda que, antes entregar la actividad, se haga llegar una consulta al profesorado colaborador del aula.

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