• Caracterización de la aplicación del lenguaje Python
- Lenguaje Python
- Ejecución de programas Python
- Objetos en Python
- Tipos numéricos y dinámicos
- Gestión de cadenas de texto: listas, diccionarios, tuplas y ficheros
- Sentencias Python: asignaciones, expresiones e imprimir resultados
- Tests de variables, reglas de sintaxis
- Bucles for y while
• Interpretación la aplicación de protocolos API
- Uso de APIs remotas
- Integración de las aplicaciones con APIs remotas
- Ejemplos de aplicación de APIs remotas en lenguaje Python
• Programación de un algoritmo modular en lenguaje Python
- Programación de módulos
- Fundamentos de programación de clases
- Utilización de APIs e integración con aplicaciones Python
• Distinción de los conceptos Cloud básicos
- Principios de computación en la nube (Cloud Computing)
- Ingeniería de servicios: software as a service, Platform as a service, Infrastructure as a
Service
- Ejemplos de aplicaciones relevantes en la industria
• Uso de BBDD NoSQL y nuevos modelos de datos (estructurados y no estructurados)
- Fundamentos del paradigma NoSQL
- Distribución de los datos y procesamiento en paralelo
- Principales modelos de datos en el mundo NoSQL: clave-valor, orientación a
documentos, grafos de propiedad, grafos de conocimiento
• Conocimiento del almacenamiento Big Data y las herramientas de procesamiento masivo
- Aplicaciones basadas en la gestión y el análisis de grandes volúmenes de datos
- Fundamentos arquitectónicos de los sistemas distribuidos
- Principales arquitecturas de referencia
- Nuevos modelos de datos
- Sistemas de ficheros distribuidos
- Document stores
- Bases de datos de grafos
• Evaluación de las metodologías y técnicas aplicadas en la resolución de problemas y justificación de los planteamientos, decisiones y propuestas realizadas
- Sistemas de soporte a la toma de decisiones
- Análisis de los datos: análisis descriptivo, predictivo y prescriptivo
- Casos de uso: gestión y análisis de grandes volúmenes de datos
• Identificación de los factores clave de un problema complejo en el contexto de un proyecto de analítica.
- Contexto de la sociedad /economía de los datos y el paradigma de las aplicaciones orientadas a los datos
- Fundamentos de bases de datos relacionales: lenguaje SQL.
- Necesidad de un cambio de paradigma: NoSQL. El principio ‘one size does not fit all’.
- Principales modelos de datos en el mundo NoSQL: Key-Value, Documento-oriented, Property Graphs y Knowledge Graphs
- Fundamentos arquitectónicos: sistemas distribuidos, escalabilidad, paralelismo. Principales arquitecturas de referencia (shared nothing, shared disk, shared memory)
• Distinción y aplicación de los nuevos modelos de datos
- Sistemas de archivos distribuidos: conceptos y principios (distribución, replicación, particionamiento horizontal vs. Vertical, formatos de archivos especializados)
- Conocimiento y utilización deHadoop File System (HDFS), Apache Avro, Apache Parquet, Key-value stores: Apache HBase
- Document stores: conceptos y principios (mecanismos de réplica, sharding, consultas espaciales)
- Inmersión a MongoDB y el Aggregation Framework
- Graph databases: property y knowledge graphs. Conceptos y principios Modelización en grafo, consultas regulares. Introducción a Neo4j y Cypher
- Knowledge graphs. Conceptos y principios: el paradigma open / linked data, RDF y SPARQL. Introducción a GraphDB
• Identificación y análisis de problemas complejos en el área de análisis de datos y planteamiento de soluciones
- Principales conceptos de los flujos de procesamiento de datos en sistemas de gran volumen
- Fases principales de la gestión de grandes volúmenes de datos y retos asociados
- Roles del ingeniero de datos en las fases principales de la gestión de datos
- Limitaciones principales de los modelos tradicionales de gestión de los datos
- Nuevos modelos de datos
• Planificación y ejecución de un trabajo de análisis de datos con una propuesta metodológica
- Definición de un conjunto de datos de partida y una serie de necesidades de negocio que requieran una agregación de los datos, una captura de datos externa, un proceso ETL, análisis de datos y una visualización final de los resultados obtenidos
- Implementación de un sistema de archivos distribuido
- Uso de Hadoop para almacenar un conjunto de datos de actividad de red social. Almacenamiento de un conjunto de datos en un entorno HDFS
- Modelización de grafos: almacenar un conjunto de datos en una base de datos documental u orientada a grafos.
• Elección de un repositorio adecuado para los datos del problema y definición de una estrategia de almacenamiento.
- Ciclo de vida de los datos: diseño de bases de datos, gestor de los flujos de datos, arquitectura de los sistemas de extracción, carga y transformación de los datos y sistemas de almacenamiento y procesamiento distribuido
- Gestión de los datos: límites del modelo relacional y distribución de los datos