|
||||||||
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 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 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. |
||||||||
Esta asignatura pertenece al conjunto de asignaturas obligatorias del Grado de Ciencia de Datos. |
||||||||
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. |
||||||||
El curso requiere que los estudiantes tengan conocimientos de:
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. |
||||||||
No aplica. |
||||||||
Los objetivos que se desea que el estudiante alcance mediante esta asignatura son los siguientes:
|
||||||||
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 2) Descubriendo el Big Data: Captura, Almacenamiento ¡y Más! 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 6) Exploración y Análisis de las Tendencias Innovadoras en Big Data |
||||||||
|
||||||||
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:
|
||||||||
|