Qu'est-ce que Hadoop et à quoi sert-il? [fermé]

28

Cela fait longtemps que j'aime lire ServerFault et j'ai rencontré pas mal de sujets sur Hadoop. J'ai eu un peu de mal à découvrir ce qu'il fait d'un point de vue global.

Ma question est donc assez simple: qu'est-ce que Hadoop? Qu'est ce que ça fait ? A quoi cela sert ? Pourquoi ça botte le cul?

Edit: Si quelqu'un avait des démonstrations / explications de cas d'utilisation dans lesquels Hadoop a été utilisé, ce serait fantastique.

Antoine Benkemoun
la source
Facebook fait un usage intensif de Hadoop (enfin vraiment Hive qui est une couche au-dessus de Hadoop). Il y en a un bon résumé sur la page Facebook Engineering. facebook.com/note.php?note_id=89508453919
John Meagher
Hadoop est un framework qui simplifie le traitement d'une grande quantité de données ( Big data ) en répartissant les clusters de données entre les nœuds / serveurs et en faisant fonctionner le processus en parallèle. Ce processus / algorithme est appelé MapReduce.
Mr_Green

Réponses:

26

Directement de la bouche du cheval :

Hadoop est un cadre pour exécuter des applications sur de grands clusters construits avec du matériel de base. Le cadre Hadoop fournit de manière transparente des applications à la fois fiabilité et mouvement des données. Hadoop implémente un paradigme de calcul nommé Map / Reduce, où l'application est divisée en de nombreux petits fragments de travail, chacun pouvant être exécuté ou réexécuté sur n'importe quel nœud du cluster. De plus, il fournit un système de fichiers distribué (HDFS) qui stocke les données sur les nœuds de calcul, fournissant une bande passante agrégée très élevée à travers le cluster. Map / Reduce et le système de fichiers distribué sont conçus pour que les défaillances de nœuds soient automatiquement gérées par le framework.

Map / Reduce est un paradigme de programmation qui a été rendu populaire par Google où dans une tâche est divisée en petites portions et distribuées à un grand nombre de nœuds pour le traitement (carte), et les résultats sont ensuite résumés dans la réponse finale (réduire ). Google et Yahoo l'utilisent entre autres pour leur technologie de moteur de recherche.

Hadoop est un cadre générique pour implémenter ce type de schéma de traitement. Quant à savoir pourquoi il donne un coup de pied au cul, principalement parce qu'il fournit des fonctionnalités intéressantes telles que la tolérance aux pannes et vous permet de rassembler à peu près n'importe quel type de matériel pour effectuer le traitement. Il évolue également extrêmement bien, à condition que votre problème corresponde au paradigme.

Vous pouvez tout lire sur le site .

En ce qui concerne certains exemples, Paul en a donné quelques-uns, mais voici quelques autres que vous pourriez faire qui ne sont pas aussi centrés sur le Web:

  • Rendu d'un film 3D. L'étape "map" distribue la géométrie de chaque image à un nœud différent, les nœuds la rendent et les images rendues sont recombinées dans l'étape "réduire".
  • Calcul de l'énergie dans un système dans un modèle moléculaire. Chaque trame d'une trajectoire de système est distribuée à un nœud dans l'étape "carte". Les nœuds calculent l'énergie pour chaque trame,
    puis les résultats sont résumés à l'étape "réduire".

Essentiellement, le modèle fonctionne très bien pour un problème qui peut être décomposé en des calculs discrets similaires qui sont complètement indépendants et peuvent être recombinés pour produire un résultat final.

Kamil Kisiel
la source
Merci pour votre réponse. Donc, fondamentalement, il prend des applications (PHP? Java?) Et il les décompose et répartit le travail entre un tas de nœuds? Quant à HDFS, c'est un peu comme OCFS, sauf avec un tas de nœuds?
Antoine Benkemoun
Intéressé par cela aussi. J'aimerais voir quelques exemples de mots plus précis et réels.
Karolis T.
C'est ce que je cherchais également :-)
Antoine Benkemoun
10

Cloudera a d'excellentes vidéos qui expliquent les principes de Map Reduce et Hadoop.

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

L'une des idées fondamentales derrière MapReduce est que pour les grands ensembles de données, vous allez être lié io sur vos disques, donc dans Hadoop HDFS vous donne la possibilité de diviser les choses entre de nombreux nœuds permettant le traitement parallèle.

Certaines utilisations de Hadoop qui intéressent les administrateurs système concernent souvent le traitement de grands ensembles de fichiers journaux - je ne peux publier qu'un seul lien, mais ceux-ci incluent, google devrait les trouver:

  1. Requête de journal de messagerie Rackspace
  2. Analyse du journal Apache avec pig - voir le blog Cloudera
  3. Yahoo! combattre le spam

la source
Ça a l'air sympa je vais y jeter un œil :-)
Antoine Benkemoun
1

Initialement, hadoop est développé pour une grande quantité d'ensembles de données dans un environnement OLAP.

Avec l'introduction d'Hbase sur le dessus du hadoop, la canne peut également être utilisée pour le traitement OLAP. Hadoop est un framework avec tous les sous-composants comme map Reduce, hdfs, hbase, pig.

Si un article l'article avec la base de hadoop dans Why Hadoop est présenté .

Dans Hadoop, stockage des données sous forme de fichiers, pas dans les tableaux, les colonnes.

Deepak
la source