¿Qué es Hadoop y para qué se utiliza? [cerrado]

28

He disfrutado leyendo ServerFault durante un tiempo y he encontrado bastantes temas sobre Hadoop. He tenido algunos problemas para descubrir qué hace desde un punto de vista global.

Entonces mi pregunta es bastante simple: ¿Qué es Hadoop? Qué hace ? Para qué se usa esto ? ¿Por qué patea traseros?

Editar: Si alguien tiene demostraciones / explicaciones de casos de uso en los que se usó Hadoop, sería fantástico.

Antoine Benkemoun
fuente
Facebook hace un uso intensivo de Hadoop (bueno, realmente Hive, que es una capa encima de Hadoop). Hay una buena redacción en la página de ingeniería de Facebook. facebook.com/note.php?note_id=89508453919
John Meagher
Hadoop es un marco que simplifica el procesamiento de gran cantidad de datos ( Big data ) al distribuir los grupos de datos entre los nodos / servidores y hacer que el proceso se ejecute en paralelo. Este proceso / algoritmo se conoce como MapReduce.
Mr_Green

Respuestas:

26

Directamente de la boca del caballo :

Hadoop es un marco para ejecutar aplicaciones en grandes clústeres creados con hardware básico. El marco Hadoop proporciona de forma transparente aplicaciones tanto de fiabilidad como de movimiento de datos. Hadoop implementa un paradigma computacional llamado Map / Reduce, donde la aplicación se divide en muchos pequeños fragmentos de trabajo, cada uno de los cuales se puede ejecutar o volver a ejecutar en cualquier nodo del clúster. Además, proporciona un sistema de archivos distribuido (HDFS) que almacena datos en los nodos de cómputo, proporcionando un ancho de banda agregado muy alto en todo el clúster. Tanto Map / Reduce como el sistema de archivos distribuido están diseñados para que el marco maneje automáticamente las fallas de los nodos.

Map / Reduce es un paradigma de programación que se hizo popular en Google, donde una tarea se divide en pequeñas porciones y se distribuye a un gran número de nodos para su procesamiento (mapa), y los resultados se resumen en la respuesta final (reducir ) Google y Yahoo usan esto para su tecnología de motor de búsqueda, entre otras cosas.

Hadoop es un marco genérico para implementar este tipo de esquema de procesamiento. En cuanto a por qué patea el culo, principalmente porque proporciona características ordenadas como la tolerancia a fallas y le permite reunir casi cualquier tipo de hardware para hacer el procesamiento. También se escala extremadamente bien, siempre que su problema se ajuste al paradigma.

Puedes leer todo sobre esto en el sitio web .

En cuanto a algunos ejemplos, Paul dio algunos, pero aquí hay algunos más que podría hacer que no estén tan centrados en la web:

  • Renderizado de una película en 3D. El paso "mapa" distribuye la geometría de cada cuadro a un nodo diferente, los nodos lo procesan y los cuadros procesados ​​se recombinan en el paso "reducir".
  • Calcular la energía en un sistema en un modelo molecular. Cada cuadro de una trayectoria del sistema se distribuye a un nodo en el paso "mapa". Los nodos calculan la energía para cada cuadro,
    y luego los resultados se resumen en el paso "reducir".

Esencialmente, el modelo funciona muy bien para un problema que puede desglosarse en cálculos discretos similares que son completamente independientes y pueden recombinarse para producir un resultado final.

Kamil Kisiel
fuente
Gracias por su respuesta. Entonces, ¿básicamente toma aplicaciones (PHP? Java?) Y las descompone y distribuye el trabajo entre un grupo de nodos? En cuanto a HDFS, ¿es algo así como OCFS, excepto con un montón de nodos?
Antoine Benkemoun
Interesado en esto también. Sin embargo, me gustaría ver algunos ejemplos de palabras reales más específicos.
Karolis T.
Eso era lo que estaba buscando también :-)
Antoine Benkemoun
10

Cloudera tiene algunos videos geniales que explican los principios detrás de Map Reduce y Hadoop.

http://www.cloudera.com/hadoop-training-basic

Una de las ideas centrales detrás de MapReduce es que para grandes conjuntos de datos usted estará atado a sus discos, por lo que en Hadoop HDFS le brinda la capacidad de dividir las cosas entre muchos nodos permitiendo el procesamiento paralelo.

Algunos usos de Hadoop de interés para los administradores de sistemas a menudo se refieren al procesamiento de grandes conjuntos de archivos de registro: solo puedo publicar un enlace, pero estos incluyen, google debería encontrar estos:

  1. Consulta de registro de correo de Rackspace
  2. Análisis de registro de Apache con cerdo: consulte el blog de Cloudera
  3. Yahoo! luchar contra el spam

fuente
Se ve bien, voy a echar un vistazo :-)
Antoine Benkemoun
1

Inicialmente, hadoop se desarrolla para una gran cantidad de conjuntos de datos en un entorno OLAP.

Con la introducción de Hbase en la parte superior de hadoop, la caña también se utilizará para el procesamiento OLAP. Hadoop es un marco con todos los subcomponentes como map reduce, hdfs, hbase, pig.

Se encuentra el artículo con el básico de hadoop en Why Hadoop se presenta .

En Hadoop, el almacenamiento de datos en forma de archivos, no en las tablas, columnas.

Deepak
fuente