Todas las empresas están viviendo un ciclo de digitalización jamás visto hasta la fecha. Y eso implica la generación de una enorme cantidad de datos a los que hay que sacar valor. Pero desde los sistemas, webs y aplicaciones empresariales, hasta el reporting y la generación de algoritmos de inteligencia de artificial, hay un largo y duro camino, que marca la diferencia entre tomar buenas o malas decisiones, o que los algoritmos saquen conclusiones adecuadas que poder extrapolar las conductas de los clientes.
Dicho camino es el de la transformación y la adecuación del dato para los diferentes casos de uso. Y dicha adecuación necesita de muchas tecnologías, muy dependientes del caso de negocio a lograr. Todas estas tareas recaen bajo la responsabilidad del Data Engineer.
Titulados superiores en Telecomunicaciones, Informática, Física, Matemáticas... Para otras titulaciones se valora conocimiento y experiencia previos en programación de alto nivel, estadística, lenguaje SQL...
Titulados superiores en Telecomunicaciones, Informática, Física, Matemáticas... Para otras titulaciones se valora conocimiento y experiencia previos en programación de alto nivel, estadística, lenguaje SQL...
Ingenieros de datos con experiencia, que vengan de entornos relacionales tipo SQL, y que necesitan adaptar sus conocimientos a las nuevas tecnologías. Ecosistemas tecnológicos y lenguajes
Ingenieros con poca experiencia laboral, que necesitan especializarse en el mundo de los datos, o
El objetivo de este máster es conocer todas las herramientas más habituales, tener un nivel alto en los lenguajes de programación necesarios para hacer ingeniería del dato, y ser capaces de implantar todos estos desarrollos en las arquitecturas adecuadas con los ciclos de implantación de software profesional que utilizan las grandes empresas, garantizando calidad, robustez y trazabilidad.
BLOQUE 1. ARQUITECTURA
INTRODUCCIÓN A LOS SISTEMAS INFORMACIONALES
Presentación del master
Evolución desde los sistemas operacionales a los sistemas informacionales.
Tipos de sistemas informacionales
Perfiles profesionales
Dataflow, desde la creación hasta el caso de negocio
Data driven company, como sacar valor al dato
VIRTUALIZACION
Orígenes de la virtualización. Tipos y ventajas
Máquinas virtuales.
Contenedores, kubernetes y soluciones comerciales
Virtualización orientada al cómputo paralelo. Ejemplos comerciales
Virtualización orientada a los servicios
ARQUITECTURA Y CLOUD
Piezas tecnológicas que soportan el Dataflow
Diseños generales: Batch, lambda, kappa, etc
Alternativas OnPrem, open source, comerciales
Cloud stack: AWS, GCS, Azure
PROCESAMIENTO DISTRIBUIDO
Conceptos de computación distribuida, cuellos de botella, hash
Conceptos básicos hadoop y distribuciones
HDFS, MapReduce, yarn
Futuro de hadoop, arquitectura Cloudera y roadmap
ALMACENAMIENTO Y COMPUTO ESCALABLE
Tipos de bases de datos: mapa según tecnología, tipo de almacenamiento y acceso
BBDD SQL: Árbol, hash… Soluciones comerciales y open
BBDD NoSQL: HBase, Mongo, SolR, Neo4J, etc. Soluciones cloud native
BLOQUE 2. INGENIERÍA DEL DATO
MODELO ENTIDAD RELACIÓN Y SQL BÁSICO
Modelo relacional.
Modelo Físico y lógico. Paso a tablas
SQL básico: SELECT, joins, agregaciones, subconsultas y operadores lógicos
Creación de tablas básico
SQL AVANZADO
Lenguaje de definición de datos
Lenguaje de manipulación avanzado: Funciones ventana, índices, estadísticas, hints, macros y scripting
Lenguaje de control de datos: Permisos y administración de objetos
PYTHON Y PRINCIPIOS DE PROGRAMACIÓN
Estructuras básicas de programación
Framework de desarrollo
Principios de Python
Tipos y Estructuras de datos
Bloques y estructuras de control
Funciones y programación estructurada
E/S y gestión de archivos
Módulo y paquetes
PYSPARK
Spark Shell
RDDs
Dataframes
Pandas, Koala
Spark SQL
Plan de ejecución y UI
KAFKA Y SPARK STREAMING
Definición de bus: Kafka / Confluent
Mensajes, Topics y el Log de Mensajes
Productores, Consumidores y Brokers
Conectores
Streams
Particiones
Kafka Streams
Windowed Stream Processing
DESARROLLO PROCESOS ETL
Extracción: Replica, batch, microbatch, streaming, webscraping
Transformación y carga: Procresos de carga way.
Transformaciones básicas (SQL y Python)
Utilización de herramientas comerciales ETL
Monitorización, alarmado, control de flujo, calidad
PROCESOS PARA EXPLOTACION DE DATOS
Estrella y Copo de nieve
Cubos y OLAP
Desnormalizacion
Cálculo de KPIs complejos
SPARK ORIENTADO A IA
Frameworks: Notebooks
Muestreo, anonimización y filtrado
Estructuras tipo customer view
Normalización y discretización de variables
Funciones analíticas: MLlib & Others
Puesta en producción de un modelo analítico tipo batch
CAPTURA DE LOGS Y MONITORIZACION
Arquitectura ELK
Logstash
ElasticSearch
Kibana
Monitorizacion, alarmado y acceso al dato ElasticSearch
APIFICACION
Concepto de API
Tipos y securización: Rest, SOAP, apigateway, etc.
API y virtualización
Desarrollo de API para DataService
Desarrollo de API para modelo analítico
Desarrollo de API en bases de datos de búsqueda
BLOQUE 3. GOBIERNO E IMPLANTACIÓN
CICD / MLOps
Conceptos básicos de entornos de desarrollo (Desarrollo, integración, producción, repositorio, etc)
Ciclo CICD para desarrollos
Concepto de MLOps. Diferencias con CICD
Implantación Ciclo MLOps
Jenkins: Recetas
Planificación de procesos.
Ejemplo aplicación e2e
GESTION Y GOBIERNO DEL DATO
Data governance y data management
Metadata
Calidad, linaje, auditoria3
FASE PROYECTO
El proyecto consiste en la realización de un trabajo de aplicación práctico en grupo y tiene una duración estimada de 200 horas. Los tutores del proyecto son profesores especialistas en los temas a desarrollar en cada proyecto.