Was ist Hadoop und wofür wird es angewendet? [geschlossen]

28

Ich lese seit einiger Zeit gerne ServerFault und bin auf einige Themen in Hadoop gestoßen. Ich hatte ein wenig Probleme herauszufinden, was es aus globaler Sicht macht.

Meine Frage ist also ganz einfach: Was ist Hadoop? Was tut es ? Was wird es verwendet ? Warum tritt es in den Arsch?

Bearbeiten: Wenn jemand Demonstrationen / Erklärungen von Anwendungsfällen hat, in denen Hadoop verwendet wurde, wäre das fantastisch.

Antoine Benkemoun
quelle
Facebook nutzt Hadoop (Hive ist eine Schicht auf Hadoop). Es gibt eine gute Beschreibung auf der Facebook Engineering-Seite. facebook.com/note.php?note_id=89508453919
John Meagher
Hadoop ist ein Framework, das die Verarbeitung großer Datenmengen ( Big Data ) vereinfacht, indem die Datencluster auf die Knoten / Server verteilt und der Prozess parallel ausgeführt wird. Dieser Prozess / Algorithmus ist als MapReduce bekannt.
Mr_Green

Antworten:

26

Direkt aus dem Maul des Pferdes :

Hadoop ist ein Framework zum Ausführen von Anwendungen auf großen Clustern, die aus Standardhardware bestehen. Das Hadoop-Framework bietet Anwendungen auf transparente Weise sowohl Zuverlässigkeit als auch Datenbewegung. Hadoop implementiert ein Rechenparadigma namens Map / Reduce, bei dem die Anwendung in viele kleine Arbeitsfragmente unterteilt ist, von denen jedes auf einem beliebigen Knoten im Cluster ausgeführt oder erneut ausgeführt werden kann. Darüber hinaus wird ein verteiltes Dateisystem (HDFS) bereitgestellt, das Daten auf den Rechenknoten speichert und eine sehr hohe Gesamtbandbreite im gesamten Cluster bietet. Sowohl Map / Reduce als auch das verteilte Dateisystem sind so konzipiert, dass Knotenfehler automatisch vom Framework behandelt werden.

Map / Reduce ist ein von Google verbreitetes Programmierparadigma, bei dem eine Aufgabe in kleine Teile aufgeteilt und zur Verarbeitung auf eine große Anzahl von Knoten verteilt wird (Map). Die Ergebnisse werden dann zur endgültigen Antwort zusammengefasst (Reduce) ). Google und Yahoo nutzen dies unter anderem für ihre Suchmaschinentechnologie.

Hadoop ist ein allgemeines Framework für die Implementierung dieser Art von Verarbeitungsschema. Was den Grund angeht, warum es nicht gut läuft, vor allem, weil es nette Funktionen wie Fehlertoleranz bietet und Sie so ziemlich jede Art von Hardware zusammenbringen können, um die Verarbeitung durchzuführen. Es lässt sich auch sehr gut skalieren, vorausgesetzt, Ihr Problem passt zum Paradigma.

Sie können alles darüber auf der Website lesen .

Als Beispiel hat Paul ein paar gegeben, aber hier sind ein paar mehr, die Sie machen könnten, die nicht so weborientiert sind:

  • 3D-Film rendern. Der "Karten" -Schritt verteilt die Geometrie für jeden Frame auf einen anderen Knoten, die Knoten rendern sie und die gerenderten Frames werden im "Reduzieren" -Schritt neu kombiniert.
  • Berechnung der Energie in einem System in einem molekularen Modell. Jeder Frame einer Systemtrajektorie wird im Schritt "Map" an einen Knoten verteilt. Die Knoten berechnen die Energie für jeden Rahmen
    und dann werden die Ergebnisse im Schritt "Reduzieren" zusammengefasst.

Im Wesentlichen funktioniert das Modell sehr gut für ein Problem, das in ähnliche diskrete Berechnungen zerlegt werden kann, die vollständig unabhängig sind und zu einem Endergebnis rekombiniert werden können.

Kamil Kisiel
quelle
Vielen Dank für Ihre Antwort. Im Grunde genommen braucht es also Apps (PHP? Java?) Und es zerlegt sie und verteilt die Arbeit auf eine Reihe von Knoten? Was HDFS angeht, ist es ähnlich wie OCFS, außer mit einer Reihe von Knoten?
Antoine Benkemoun
Auch daran interessiert. Ich würde gerne einige spezifischere Beispiele für echte Wörter sehen.
Karolis T.
Das habe ich auch gesucht :-)
Antoine Benkemoun 18.06.09
10

Cloudera hat einige großartige Videos, die die Prinzipien von Map Reduce und Hadoop erklären.

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

Eine der Kernideen von MapReduce ist, dass Sie bei großen Datenmengen auf Ihren Festplatten gebunden sein werden. In Hadoop HDFS können Sie also die Dinge auf mehrere Knoten aufteilen, um eine parallele Verarbeitung zu ermöglichen.

Einige Verwendungen von Hadoop, die für Systemadministratoren von Interesse sind, betreffen häufig die Verarbeitung großer Protokolldateigruppen. Ich kann nur einen Link posten, aber dazu gehört, dass Google diese finden sollte:

  1. Rackspace Mail Log Abfrage
  2. Apache Log Analyse mit Pig - siehe Cloudera Blog
  3. Yahoo! Spam bekämpfen

quelle
Sieht gut aus, ich schau mal
rein
1

Zunächst wurde hadoop für eine große Anzahl von Datensätzen in einer OLAP-Umgebung entwickelt.

Mit der Einführung von Hbase auf Hadoop kann Zuckerrohr auch für die OLAP-Verarbeitung verwendet werden. Hadoop ist ein Framework mit allen Unterkomponenten wie map reduction, hdfs, hbase, pig.

Wenn ja, wird der Artikel mit den Grundlagen von Hadoop in Why Hadoop vorgestellt .

In Hadoop Datenspeicherung in Form von Dateien, nicht in den Tabellen, Spalten.

Deepak
quelle