|
Análisis de datos en entornos Big Data
|
Código:
M2.858 :
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
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 Big Data. Iniciaremos esta asignatura analizando la estructura tecnológica que se encuentra detrás de un proyecto de Big Data, y que incluye aspectos relevantes, como por ejemplo, el sistema de almacenamiento y cálculo distribuido o la gestión de los recursos hardware del cluster. Continuaremos viendo los tres principales modelos de procesamiento distribuido: procesamiento batch, real-time o streaming y basado en eventos complejos. Veremos las principales funciones y características de los frameworks más utilizados en la actualidad, prestando especial atención a los dos grandes estándares de la industria: Apache Hadoop y Apache Spark. Finalizaremos esta asignatura revisando las principales librerías de análisis de datos, incluyendo temas de aprendizaje automático (machine learning), análisis de grafos y visualización de datos masivos.
|
Esta asignatura pertenece al conjunto de asignaturas optativas del Máster universitario en Ciencia de datos (Data Science).
|
La asignatura proporciona conocimientos que 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 o la dirección o consultoría de proyectos basados en sistemas Big Data, entre otros.
|
El curso requiere que los estudiantes tengan conocimientos de programación (preferiblemente en lenguaje Python), así como conocimientos de análisis de datos, aprendizaje automático (machine learning) y redes de computadores.
Además, como la metodología incluye estudios de casos 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.
|
Los objetivos que se desea que el estudiante alcance mediante esta asignatura son los siguientes:
- Entender los conceptos y las definiciones formales asociadas a los conceptos de Big Data y afines.
- Identificar los elementos tecnológicos necesarios en cualquier 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 las principales herramientas disponibles en el ecosistema de Big Data, especialmente de los ecosistemas de Apache Hadoop y Apache Spark.
- Construir modelos que generen conocimiento como resultado de una análisis basado en tecnología Big Data.
- Conocer el funcionamiento básico de las principales herramientas y frameworks de Big Data, como por ejemplo HDFS o Apahe Spark.
|
La asignatura consta de 9 bloques temáticos, cada uno de los cuales apoyado por un material didáctico y una serie de ejercicios. El contenido asociado a cada bloque temático es el que se detalla a continuación:
1) La Evolución del Análisis de Datos: Desde el Pasado Manual hasta la Supercomputación
En este módulo, se explora la evolución histórica de la necesidad de analizar datos masivos, desde los primeros registros en arte rupestre hasta la era del Big Data, impulsada por avances en la supercomputación y la generación masiva de datos en campos como la astronomía y la genética. Además, se establece una distinción crucial entre datos, información y conocimiento. En el segundo bloque, se abordan conceptos esenciales, como la caracterización de algoritmos, su paralelización y complejidad algorítmica.
2) Descubriendo el Big Data: Captura, Almacenamiento y ¡Más!
Este módulo se inicia con una introducción al concepto de Big Data y sus propiedades esenciales, abordando tecnologías clave como el almacenamiento distribuido y las bases de datos NoSQL. Además, se explora la captura de datos en modalidades batch y en tiempo real, y se examina cómo el uso de GPUs puede potenciar el análisis de datos masivos.
3) Optimizando el Uso de Recursos en Sistemas de Análisis de Datos Masivos
En sistemas Big Data, complejos y utilizados por múltiples usuarios para diversas tareas, la asignación equitativa de recursos como RAM, CPU y capacidad de red es crucial y es responsabilidad de los programas gestores de recursos. En este módulo, exploraremos varios gestores de recursos a diferentes niveles de abstracción, desde conceptos básicos hasta Apache Yarn (ampliamente utilizado en sistemas Hadoop) y otros como Apache Mesos, Apache Myriad y Kubernetes, según la complejidad de las tareas a coordinar.
4) Descubriendo el Análisis de Datos Masivos: Arquitecturas, MapReduce y Spark
Este módulo se enfoca en proporcionar las bases teóricas necesarias para comprender las herramientas y tecnologías en constante evolución en el análisis de datos masivos (Big Data), sin enumerar todas las tecnologías disponibles. Se revisan conceptos clave, como el modelo MapReduce en Apache Hadoop y el enfoque de análisis de datos en Apache Spark, destacando sus diferencias. Además, se examinan varias arquitecturas de procesamiento de datos masivos, como la arquitectura Lambda, y se aborda el procesamiento práctico con Apache Spark, incluyendo Resilient Distributed Datasets (RDDs) y DataFrames en diferentes tipos de datos.
5) Automatización Inteligente: Simplificando Tareas con Oozie, Airflow y NiFi
En sistemas informáticos, incluyendo el procesamiento de datos Big Data, es común automatizar tareas para que se ejecuten de forma desatendida. Para este propósito en el ámbito de Big Data, existen herramientas específicas que permiten automatizar flujos de ejecución con o sin lógica secuencial. En este módulo, se explorarán tres alternativas para la automatización de procesos: Apache Oozie para entornos Hadoop, Airflow y planificadores escalables independientes. También se abordará la integración de datos a gran escala con Apache Nifi y se mencionarán las opciones de planificadores en la nube y la evolución de estos sistemas en el contexto de las tecnologías de procesamiento de flujos.
6) Procesamiento de Datos en Flujo: Desde el Origen hasta el Análisis Avanzado
En este módulo, se estudia el procesamiento de flujos de datos, comenzando con conceptos básicos y sistemas de captura de datos en flujo. Se exploran las características necesarias en sistemas Big Data para este análisis y se presentan arquitecturas clave como Lambda y Kappa. También se detalla una arquitectura específica con tecnologías populares. Además, se cubren aspectos técnicos, algoritmos para el análisis de datos en flujo y se trabaja en la captura de datos utilizando Flume y Kafka.
7) Aprendizaje Continuo: Navegando a Través de Datos en Constante Evolución
En la era digital actual, el flujo constante de datos en tiempo real es un desafío crucial en la ciencia de datos. Este módulo se enfoca en el aprendizaje incremental para abordar el procesamiento de datos en flujo, explorando cómo los algoritmos de aprendizaje se adaptan a estas fuentes de datos y superan el enfoque de entrenamiento por lotes. Se analizan las particularidades de los algoritmos de machine learning en datos en flujo en lugar de enumerar una variedad de algoritmos.
8) Big Data a la Núvol: Els Nous Superpoders de l'Anàlisi de Dades
Este módulo se enfoca en las tecnologías de Big Data en la nube, que han surgido como soluciones para superar los obstáculos asociados con la instalación y administración de sistemas Big Data en hardware propio. Se exploran los tres principales proveedores en la nube: Amazon, Azure y Google Cloud, destacando sus ventajas y desafíos. Esto permite a empresas de diferentes tamaños acceder a servicios de Big Data sin la necesidad de una inversión inicial significativa y sin la complejidad de la administración técnica.
9) 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 el entendimiento de las innovaciones en el tratamiento de datos masivos y su aplicación en diversos contextos.
|
|
|
|
Introducción al big data |
PDF |
Tipologías y arquitecturas de un sistema big data |
PDF |
Captura, preprocesamiento y almacenamiento de datos masivos |
PDF |
Análisis de datos masivos |
PDF |
Análisis de datos masivos. Técnicas avanzadas |
PDF |
Vídeo presentación PLA 1.1. Introducción a los datos masivos (Big Data) |
Audiovisual |
Vídeo contenidos PLA 1.2. Introducción a los datos masivos (Big Data) |
Audiovisual |
Vídeo presentación PLA 2.1. Tipologías y arquitecturas de un sistema Big Data |
Audiovisual |
Vídeo contenidos PLA 2.2. Tipologías y arquitecturas de un sistema Big Data |
Audiovisual |
Vídeo presentación PLA 3.1. Captura, pre-procesado y almacenamiento de datos masivos |
Audiovisual |
Vídeo contenidos PLA 3.2. Captura, pre-procesado y almacenamiento de datos masivos |
Audiovisual |
Vídeo presentación PLA 4.1. Análisis de datos masivos |
Audiovisual |
Vídeo contenidos PLA 4.2. Análisis de datos masivos |
Audiovisual |
Vídeo presentación PLA 5.1. Análisis de datos masivos. Técnicas avanzadas |
Audiovisual |
Vídeo contenidos PLA 5.2. Análisis de datos masivos. Técnicas avanzadas |
Audiovisual |
Espacio de recursos de ciencia de datos |
Web |
Massive data analysis |
PDF |
Big data capture preprocessing and storage |
PDF |
Introduction to big data |
PDF |
Massive data analysis. Advanced techniques |
PDF |
Typologies and architectures of a big data system |
PDF |
Video presentation PLA 5.1. Massive data analysis. Advanced techniques |
Audiovisual |
Video content PLA 3.2. Capture, pre-process and store massive data |
Audiovisual |
Video content PLA 5.2. Massive data analysis. Advanced techniques |
Audiovisual |
Video presentation PLA 2.1. Typologies and architectures of a Big Data system |
Audiovisual |
Video content PLA 2.2. Typologies and architectures of a Big Data system |
Audiovisual |
Video presentation PLA 4.1. Massive data analysis |
Audiovisual |
Video content PLA 4.2. Massive data analysis |
Audiovisual |
Video presentation PLA 3.1. Capture, pre-process and store massive data |
Audiovisual |
Video content PLA 1.2. Introduction to massive data (Big Data) |
Audiovisual |
Video presentation PLA 1.1. Introduction to massive data (Big Data) |
Audiovisual |
Uso de dataframes con Apache Spark |
Audiovisual |
Uso de RDDs con Apache Spark |
Audiovisual |
Apache Flume. Documentación |
Audiovisual |
Apache Flume. Configuración |
Audiovisual |
Apache Flume. Implementación sources |
Audiovisual |
Apache Flume. Agente |
Audiovisual |
|
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.
|
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.
|
|