Hadoop

Definición de Hadoop:

Apache Hadoop: sistema distribuido que permite realizar procesamiento de grandes volúmenes de datos a través de clúster, fácil de escalar y usa un modelo muy simple de programación basado en una arquitectura Master-Slave.

 

Arquitectura

Arquitectura básica

Arquitectura básica Hadoop

Arquitectura básica Hadoop

 

Acceso a datos: Hive, HBase, Pig, Storm, Solr,

Map-Reduce (infraestructura de programación que proporciona algoritmos para realizar los cálculos distribuidos).

HDFS: Sistema de archivos.

 

Evolución de arquitectura con YARN

Arquitectura YARN Hadoop

Arquitectura YARN Hadoop

 

Utilidades de la infraestructura:

  • Hadoop Streaming: Permitir a MapReduce codificar en lenguajes como: C, C++, Perl, Python, Bash, etc.
  • Hive and Hue:  Hive convierte las sentencias SQL en un trabajo de MapReduce.  Hue le proporciona una interfaz gráfica de navegador para realizar su trabajo Hive.
  • Pig: Entorno de programación de nivel alto para realizar codificación MapReduce.
  • Sqoop: Transferencia bidireccional de datos entre Hadoop y una base de datos relacional.
  • Oozie: Gestiona flujo de trabajo Hadoop. Esto no reemplaza a su planificador o herramienta BPM, pero proporciona ramificación de “if-then-else” y control dentro de sus trabajos Hadoop.
  • HBase: Un almacenamiento similar a un hash-map persistente (en python similar a sus diccionarios).
  • FlumeNG: Un cargador en tiempo real para transmitir sus datos hacia Hadoop. Almacena datos en HDFS y HBase. Mejora el canal original.
  • Whirr: Suministro de nube para Hadoop, puede arrancar un clúster en unos cuantos minutos con un archivo de configuración muy corto.
  • Mahout: para análisis predictivos y otros análisis avanzados. Aprendizaje de máquina para Hadoop.
  • Fuse: Pone una capa al sistema de archivo HDFS para poder usar comandos como: ls, rm, cd, …
  • Zookeeper: gestiona la sincronización para el clúster.

 

Distribuciones que implemtentan Hadoop:

Autor: Diego Calvo