Apache Hadoop se ha venido a denominar "el Sistema Operativo de la Nube". Constituye un proyecto de código abierto respaldado por el grupo Apache que proporciona una plataforma altamente escalable para el desarrollo de aplicaciones con un grado de paralelismo extremo.El propósito fundamental es el proceso de grandes conjuntos de datos (del órden de Terabytes o Petabytes) en un tiempo de respuesta casi instantáneo - tareas para las cuales incluso los clusters más potentes de las bases de datos relacionales se quedan cortos.
Como beneficio añadido, Hadoop proporciona un sistena de almacenamiento altamente distribuido que permite el almacenamiento redundante y de rápido acceso de grandes volúmenes de datos.
El objetivo del curso de Desarrollo de Hadoop es proporcionar a los alumnos una sólida base para crear aplicaciones altamente distribuidas sobre clusters Hadoop. Se examinan el uso del sistema de archivos HDFS y el acceso al mismo desde Java, las bases teóricas del algoritmo Map/Reduce, la creación de trabajos y la forma de paralelizar algunos algoritmos conocidos en áreas como la búsqueda, la ordenación de datos o el proceso de grafos o árboles.
PARTE 1. Hadoop: Conceptos Básicos 1. Una visión General de Hadoop 2. El sistema de ficheros distribuido de Hadoop (HDFS) 3. Ejercicios prácticos 4. Como funciona Map/Reduce 5. Ejercicios prácticos 6. Anatomía de un clúster Hadoop 7. Otros componentes del ecosistema de Hadoop PARTE 2. Desarrollando un programa Map/Reduce 1. El flujo de Map/Reduce 2. Examinando un programa de ejemplo de Map/Reduce 3. Conceptos basicos de la API de Map/Reduce 4. Código controlador 5. La fase Map 6. El Shuffle 7. la fase Reduce 8. La API de Streaming de Hadoop 9. Uso de Eclipse para un desarrollo rápido 10. La nueva API de Map/Reduce PARTE 3. Integración de Hadoop en el flujo de trabajo 1. Bases de datos Relacionales 2. Sistemas de almacenamiento 3. Importación de Bases de datos relacionales con Sqoop 4. Importación en tiempo real de datos con Flume 5. Uso de FuseDFS y Hoop para acceder a HDFS PARTE 4. Profundización en la API de Hadoop 1. Más sobre ToolRunner 2. Pruebas unitarias con MRUnit 3. Filtrado previo mediante combinadores 4. Configuración avanzada de metodos de Map/Reduce 5. Escritura de particionadores para mejorar el balanceo de carga 6. Acceso directo a HDFS 7. Uso de la cache distribuida PARTE 5. Algoritmos comunes de Map/Reduce 1. Algoritmos de ordenación 2. Algoritmos de búsqueda 3. Algoritmos de intexación 4. Algoritmos de minería de datos PARTE 6. Uso de Hive, PIG y Sqoop 1. Importación / exportación de datos con Sqoop 2. Conceptos básicos de Hive 3. Creación y carga de tablas en Hive 4. Sentencias HiveQL 5. Conceptos básicos de Pig. El lenguaje Pig Latin PARTE 7. Desarrollo práctico, consejos y técnicas 1. Depurando código Map/Reduce 2. Uso del modo LocalJobRunner para facilitar la depuración 3. Evolución de los Jobs con Counters 4. Históricos 5. Formatos de archivos divisibles 6. Determinación del número óptimo de reductores 7. Tareas Map/Reduce sin fase Reduce PARTE 8. Programación avanzada de Map/Reduce 1. Tipos de datos propios. 2. Creación de Writetable y WritableComparable 3. Almacenar datos binarios con SequenceFiles. 4. Crear InputFormats y OutputFormats propios 5. Uniones en la fase Map 6. Segundo proceso de ordenación (The Secondary Sort) 7. Uniones en la fase Reduce PARTE 9. Manipulación de grafos en Hadoop 1. Introducción a técnicas de grafos 2. Representando grafos en Hadoop 3. Algoritmos sobre grafos. Ciclos Hamiltonianos y el problema del viajante 4. Aplicación de los algoritmos de grafos : redes, planificación, rutas. PARTE 10. Creando Flujos de Trabajo con Oozie 1. Introducción a Oozie 2. Formato de definición de flujo de trabajo con Oozie
Todos los temarios de nuestros cursos se pueden personalizar a la medida de las necesidades de la empresa