Mapreduce für Dummies

8

Ok, ich versuche Hadoop und mapreduce zu lernen. Ich möchte wirklich mit mapreduce anfangen und was ich finde, sind viele, viele vereinfachte Beispiele von Mappern und Reducern, etc. Ich habe jedoch gesehen, dass etwas fehlt. Ein Beispiel, das zeigt, wie viele Vorkommen eines Wortes in einem Dokument vorkommen, ist zwar einfach zu verstehen, hilft mir aber nicht wirklich bei der Lösung von "echten" Problemen. Kennt jemand ein gutes Tutorial zur Implementierung von mapreduce in einer pseudo-realistischen Situation? Angenommen, ich möchte hadoop und mapreduce auf einem Datenspeicher verwenden, der Adventureworks ähnelt. Jetzt möchte ich Bestellungen für ein bestimmtes Produkt im Monat Mai bekommen. Wie würde das aus einer Hadoop- / Mapreduce-Perspektive aussehen? (Mir ist klar, dass dies nicht die Art von Problem ist, die mapreduce lösen soll, aber es kam mir schnell in den Sinn.)

Jede Richtung würde helfen.

    
RockyMountainHigh 12.01.2012, 17:23
quelle

3 Antworten

13

Das Buch Hadoop: The Definitive Guide ist ein guter Anfang. Die einführenden Kapitel sollten Ihnen wirklich nützlich sein, um herauszufinden, wo MapReduce nützlich ist und wann Sie es verwenden sollten. Die fortgeschritteneren Kapitel haben viele realistischere Beispiele als die Wortanzahl.

Wenn Sie tiefer tauchen möchten, sollten Sie sich datenintensive Textverarbeitung mit MapReduce . Dies hat definitiv viele "reale" Anwendungsfälle, aber es klingt nicht so, als ob Sie an einer Textverarbeitung interessiert wären.

Für Ihr spezielles Beispiel sind die wichtigsten Dinge zu realisieren:

  • Die Map-Phase dient hauptsächlich zum Analysieren, Umwandeln von Daten und Ausfiltern von Daten. Denken Sie an Record-by-Record, Shared-Nothing-Ansatz für die Datensatzverarbeitung. Bei der Wortzählung analysiert dies die Zeile und teilt die Wörter auf.
  • Bei der Reduce-Phase geht es um die Aggregation: zählen, mitteln, min / max usw. Bei der Wortzählung werden die Instanzen des Wortes hochgezählt.

Wenn Sie also alle Datensätze für ein bestimmtes Produkt im Monat Mai möchten, können Sie einen Nur-Karten-Job verwenden, um alle Daten zu filtern und nur die gewünschten Datensätze zu behalten. Sie sollten jedoch wirklich lesen, wofür Hadoop nützlich ist. Die Frage, die besser zu Hadoop passen würde, wäre: Geben Sie mir an, wie oft jeder Artikel in jedem Monat gekauft wurde (um vielleicht eine Matrix zu erstellen). Sehr selten suchen Sie nach bestimmten Aufzeichnungen, wie Sie es vorschlagen.

Wenn Sie nach einer Echtzeit-Zugriffsplattform suchen, sollten Sie sich HBase einmal ansehen, sobald Sie mit Hadoop fertig sind.

    
Donald Miner 12.01.2012, 19:29
quelle
4

Hadoop kann für eine Vielzahl von Problemen verwendet werden. Überprüfen Sie diesen Blogeintrag von atbrox . Außerdem gibt es eine Menge Informationen über Hadoop und MapReduce im Internet und es ist leicht, sich zu verirren. Also, hier ist die konsolidierte Liste der Ressourcen auf Hadoop.

BTW, Hadoop - Der endgültige Leitfaden 3. Ausgabe wird im Mai erwartet. Sieht aus, als ob es auch MRv2 (NextGen MapReduce) umfasst und auch mehr Fallstudien enthält. Die 2. Ausgabe ist wie von orangeoctopus erwähnt wert.

    
Praveen Sripati 13.01.2012 01:15
quelle
0

MapReduce kann ein komplexes Thema sein, daher fand ich es einfacher, es zu verstehen, indem ich seinen Ansatz auf ein einfaches Problem anwende. Dann beschreibe ich, wie MapReduce es einfach macht, das gleiche Problem in einem Cluster zu lösen. Sie können einen Blick in meinen Artikel hier werfen: Einführung in die parallele Verarbeitung mit MapReduce .

Lassen Sie es mich wissen, wenn Sie meinen, dass dieser Artikel MapReduce und Hadoop leichter verständlich macht.

    
TraderJoeChicago 05.12.2012 17:58
quelle

Tags und Links