En este libro se introducen los conceptos fundamentales del análisis de datos en entornos big data. Se ofrece una revisión completa de las técnicas avanzadas más usadas en estos campos, con un enfoque claramente descriptivo, para que el lector entienda los conceptos e ideas básicos de cada modelo o técnica. Los diferentes capítulos de esta obra comprenden la definición de problemas que requieran el uso de técnicas de big data, la tecnología básica empleada en este tipo de proyectos, así como una descripción de los principales escenarios de procesamiento de datos masivos: procesamiento de datos por lotes (bacth), procesamiento de datos continuos o en flujo (streaming) y procesamiento de datos en formato de grafos. Para cada uno de estos escenarios, se describirán las especificidades y herramientas principales relacionadas con las etapas de captura y preprocesamiento, almacenamiento y análisis.
- Prólogo
- Introducción
- I Introducción
- Introducción al big data
- Antecedentes y contextualización
- El nuevo paradigma de big data
- Utilidad: ¿donde encontramos big data?
- Datos, información y conocimiento
- Ejemplo de escenario big data
- Algoritmos, paralelización y big data
- La problemática del procesado secuencial y el volumen de datos
- ¿Qué es un algoritmo?
- Eficiencia en la implementación de algoritmos
- Introducción al aprendizaje automático
- Tipología de métodos
- Tipología de tareas
- Fases de un proyecto de aprendizaje automático
- Redes neuronales y deep learning
- II Tipologías y arquitecturas de un sistema big data
- Fundamentos tecnológicos
- Tipología de datos
- ¿Cómo procesamos toda estainformación?
- Computación científica
- Arquitectura de un sistema big data
- Estructura general de un sistema de big data
- Sistema de archivos
- Sistema de cálculo distribuido
- Gestor de recursos
- Stacks de software para sistemas debig data
- Escenarios de procesamiento distribuido
- Procesamiento en batch
- Procesamiento en stream
- Procesamiento de grafos
- Procesamiento en GPU
- III Procesamiento por lotes (batch)
- Captura y preprocesamiento por lotes
- Conceptos básicos
- Captura de datos estáticos
- Almacenamiento de datos estructurados
- Almacenamiento de datos masivos
- Sistemas de ficheros distribuidos
- Bases de datos NoSQL
- Análisis de datos estáticos
- Apache Hadoop y MapReduce
- Apache Spark
- IV Procesamiento en flujo (streaming)
- Captura y preprocesamiento de datos dinámicos
- Conceptos básicos
- Captura de datos en streaming
- Arquitecturas de datos en streaming
- Almacenamiento de datos dinámicos
- Almacenamiento de datos dinámicos
- Bases de datos en memoria
- Análisis de datos dinámicos
- Soluciones basadas en datos y basadas en tareas
- Cálculo online de valores estadísticos
- Técnicas de resumen para el procesado aproximado de datos en flujo
- V Procesamiento de grafos
- Representación y captura de grafos
- Conceptos básicos de grafos
- Tipos de grafos
- Captura de datos en formato de grafos
- Almacenamiento de grafos
- Almacenamiento en ficheros
- Bases de datos NoSQL en grafo
- Análisis de grafos
- Procesamiento de grafos
- Visualización de grafos
- Herramientas para datos masivos
- Bibliografía