La tecnología progresa sin cesar y con ella proliferan los dispositivos conectados a la red, lo que hace que cada vez generemos y almacenemos cantidades más ingentes de datos. En e...
La tecnología progresa sin cesar y con ella proliferan los dispositivos conectados a la red, lo que hace que cada vez generemos y almacenemos cantidades más ingentes de datos. En este contexto se está produciendo un crecimiento espectacular en la diversidad de formatos de datos e información, también llamados Big Data.
Y es que, sencillamente, si una empresa no es capaz de manejar cantidades enormes de datos con eficacia y aprovechando esa información para mejorar, esto se traducirá en pérdida de productividad, de oportunidades y de beneficios. Existen muchas tecnologías destinadas a procesar y analizar grandes cantidades de información. Pero cuando Apache Hadoop entró en escena, todo cambió: por fin es posible escribir programas con facilidad y llevar a cabo análisis de datos a gran escala.
Este libro explica cómo trabajan juntas las numerosas partes del ecosistema Hadoop y cómo se pueden utilizar para construir soluciones adaptadas a la empresa. Aprenderá cómo realizar el diseño de datos y su impacto en la implementación, al mismo tiempo que verá cómo funciona MapReduce y cómo reformular problemas concretos. Encontrará ejemplos detallados de código Java que puede utilizar, derivados de aplicaciones que han sido construidas e implantadas con éxito.
Índice
HADOOP. SOLCIONES BIG DATA. ÍNDICE DE CONTENIDOS
Introducción
A quién va dirigido este libro
Contenidos
Estructura
Convenciones
Código fuente
1. Big Data y el ecosistema Hadoop
Big Data y Hadoop
El ecosistema Hadoop
Componentes principales de Hadoop
Distribuciones Hadoop
Desarrollo de aplicaciones de uso empresarial con Hadoop
Resumen
2. Almacenar datos en Hadoop
Descargas de código para este capítulo
HDFS
HBase
Combinar HDFS yHBase para el almacenamiento de datos efectivo
Apache Avro
Administrar metadatos con HCatalog
Seleccionar una organización de datos de Hadoop adecuada
Resumen
3. Procesamiento de datos con MapReduce
Introducción a MapReduce
La primera aplicación MapReduce
Diseñar implementaciones MapReduce
Resumen
4. Personalizar la ejecución de MapReduce
Descargas de código para este capítulo
Controlar la ejecución de MapReduce con InputFormat
Leer datos con RecordReader personalizados
Organizar datos de salida con formatos personalizados
Escribir datos con RecordReader personalizado
Optimizar la ejecución de MapReduce con un combinador
Controlar la ejecución del reductor con particionadores
Utilizar código distinto de Java con Hadoop
Resumen
5. Construir aplicaciones fiables de MapReduce
Descargas de código para este capítulo
Comprobación unitaria de aplicaciones de MapReduce
Comprobación de aplicaciones locales con Eclipse
Utilizar el registro para la comprobación de Hadoop
Informes de métricas con contadores de trabajo
Programación defensiva en MapReduce
Resumen
6. Automatizar el procesamiento de datos con Oozie
Introducción a Oozie
Workflow
Coordinator de Oozie
Bundle de Oozie
Parametrización de Oozie con lenguaje de expresiones
Modelo de ejecución de trabajos de Oozie
Acceder a Oozie
SLA de Oozie
Resumen
7. Oozie
Descargas de código para este capítulo
Validar información sobre lugares utilizando probes
Diseñar validación de lugares basada en probes
Diseñar Workflows de Oozie
Implementar aplicaciones Workflow de Oozie
Implementar actividades Workflow
Implementar aplicaciones Coordinator de Oozie
Implementar aplicaciones Bundle de Oozie
Desplegar, comprobar y analizar las aplicaciones de Oozie
Utilizar la consola de Oozie para obtener información sobre aplicaciones Oozie
Resumen
8. Herramientas avanzadas de Oozie
Descargas de código para este capítulo
Construir acciones Workflow de Oozie personalizadas
Añadir ejecución dinámica a los Workflows de Oozie
Utilizar el API Java de Oozie
Utilizar uber jars con aplicaciones Oozie
Transportador para la incorporación de datos
Resumen
9. Hadoop en tiempo real
Descargas de código para este capítulo
Aplicaciones en tiempo real en el mundo real
Utilizar HBase para implementar aplicaciones en tiempo real
Utilizar sistemas de consultas especializados de tiempo real en Hadoop
Utilizar sistemas de procesamiento de eventos basados en Hadoop
Resumen
10. La seguridad en Hadoop
Historia breve: comprender los retos de seguridad en Hadoop
Autentificación
Autorización
Autentificación y autorización de Oozie
Encriptación de red
Mejoras de seguridad con Project Rhino
Recopilación. Buenas prácticas para proteger Hadoop
Resumen
11. Ejecutar aplicaciones de Hadoop en AWS
Descargas de código para este capítulo
Introducción a AWS
Opciones para ejecutar Hadoop en AWS
Comprender la relación entre EMR y Hadoop
Utilizar S3 de AWS
Automatizar la ejecución y la creación de un flujo de trabajo EMR
Organizar ejecución de trabajos en EMR
Resumen
12. Construir soluciones de seguridad empresarial para las implementaciones de Hadoop
Preocupaciones de seguridad para las aplicaciones de empresa
Elementos que la seguridad de Hadoop no proporciona de manera nativa para las aplicaciones de empresa
Enfoques para las aplicaciones de seguridad en la empresa con Hadoop
Resumen
13. El futuro de Hadoop
Simplificar la programación de MapReduce con DSL
Procesamiento más rápido y ampliable
Mejoras de seguridad
Tendencias emergentes
Resumen
Apéndice. Lecturas recomendadas
Almacenamiento y acceso de los datos de Hadoop
MapReduce
Oozie
Hadoop en tiempo real
AWS
DSL de Hadoop
Seguridad de Hadoop y Big Data
Índice alfabético