|
Tecnologías de Batch Processing
|
Código:
B0.485 :
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 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 Big Data, y en particular al Batch Procesing. Iniciaremos la asignatura con un visión histórica de los sistemas batch. Veremos sus inicios y como estos han ido evolucionando a medida que la tecnología y sus usos han ido cambiando. Una vez terminada esta introducción entraremos de lleno en el mundo Big Data.
Iniciaremos 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. Aunque en algún punto lo introduciremos, la parte de Streaming se verá en detalle en la asignatura de Stream Processing y por tanto dejaremos parte de los conceptos relacionados a un lado. En los otros casos ceremos 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. También exploraremos la orquestación de tareas englobando aspectos relevantes de las soluciones tecnológicas previamente vistas para su explotación productiva.
|
Esta asignatura pertenece al conjunto de asignaturas del itinerario de Big Data en el Máster de Inteligencia de Negocio y Big Data Analytics.
|
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 en lenguaje Python, así como conocimientos básicos en 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 la evolución histórica de los sistemas batch
- Entender el contexto en que los sistemas batch son usados
- Conocer las técnicas básicas para el uso de sistemas batch en entornos clasicos (no Big Data)
- 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 6 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 a los sistemas y procesado batch.
En este primer módulo se da una visión histórica de los sistemas batch y sus técnicas de procesado más habituales.
2) Introducción al Big Data
Introducción al procesado Big Data. Discutiremos el cambio de modelo y paradigma que implica dicho concepto.
3) Tipologías y arquitecturas de un sistema Big Data
Entender las diferentes tipologías y arquitecturas de un sistema Big Data, siendo capaz de indentificar qué arquitectura se debería desarrollar según las características de cada problema, incluyendo las especificidades de datos y entornos.
Introduciremos los dos sistemas principales de cálculo distribuido, MapReduce y Apache Spark, haciendo énfasis en sus fortalezas y debilidades. Seguidamente definiremos las tareas que realizan los gestores de recursos, centrándonos en Apache Mesos y YARN.
4) Captura, pre-procesamiento y almacenamiento de datos masivos
Conocer las características básicas de los procesos de captura, pre-procesamiento y almacenamiento de datos en entornos Big Data. Es decir, ser capaz de entender las peculiaridades que implica el Big Data en cada una de estas fases del análisis de datos y conocer las principales herramientas y tecnologías Big Data que lo apoyan.
Discutiremos el almacenaje y gestión de la información, centrándonos en el sistema de ficheros distribuido HDFS y las bases de datos NoSQL.
5) Análisis de datos masivos: Técnicas fundamentales
Conocer y entender las las principales técnicas y herramientas de minería de datos y machine learning para datos masivos. Saber qué las diferencia de las técnicas y herramientas minería de datos tradicionales, y cuándo y cómo hay que utilizarlas.
Veremos las herramientas para procesamiento en batch, haciendo especial énfasis en los ecosistemas Apache Hadoop y Apache Spark.
6) Análisis de datos masivos: Técnicas avanzadas
En este módulo se introducen técnicas avanzadas relacionadas con la minería de datos y el aprendizaje automático. En concreto, se verán técnicas relacionadas con el análisis de grafos (graph mining) y el análisis de texto (text mining).
|
|
|
|
Vídeo |
Audiovisual |
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 |
Perspectiva histórica del procesamiento por lotes |
XML |
Perspectiva histórica del procesamiento por lotes |
DAISY |
Perspectiva histórica del procesamiento por lotes |
EPUB 2.0 |
Perspectiva histórica del procesamiento por lotes |
MOBIPOCKET |
Perspectiva histórica del procesamiento por lotes |
HTML5 |
Perspectiva histórica del procesamiento por lotes |
PDF |
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 |
Introducción al entorno de trabajo, introducción a Hadoop y Spark (SPARK_OPS_PEC1) |
Audiovisual |
Uso de Google Cloud Dataproc: big data en el cloud |
Audiovisual |
Automatización de procesos big data con Oozie |
Audiovisual |
|
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.
|
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.
|
|