Wie Verwenden von Apache Hadoop für Predictive Analytics

Apache Hadoop ist ein freies, Open-Source-Software-Plattform für das Schreiben und Ausführen von Anwendungen, die eine große Menge an Daten für Predictive Analytics verarbeiten. Es ermöglicht eine verteilte parallele Verarbeitung von großen Datenmengen aus verschiedenen Quellen erzeugt. Im Grunde ist es ein leistungsfähiges Werkzeug für die Speicherung und Verarbeitung von großen Datenmengen.

Hadoop speichert jede Art von Daten, strukturiert oder unstrukturiert, aus verschiedenen Quellen - und dann aggregiert, dass die Daten in nahezu jeder, wie Sie wollen. Hadoop Griffe heterogene Daten verteilt parallele Verarbeitung unter Verwendung - die es zu einem sehr effizienten Rahmen macht mit großen Daten Umgang in der analytischen Software zu nutzen. Kein Wunder, dass einige große Unternehmen sind die Annahme von Hadoop, darunter Facebook, Yahoo !, Google, IBM, Twitter und LinkedIn.

Vor Hadoop waren die Unternehmen nicht in den Genuss der großen Daten zu nehmen, die nicht analysiert wurde und fast unbrauchbar. Die Kosten zu speichern, die Daten in einem proprietären relationalen Datenbank und Erstellen eines strukturierten Format um sie nicht, dass die Daten, die die Vorteile der Analyse und macht Gebrauch davon zu rechtfertigen hat.

Hadoop, auf der anderen Seite, macht diese Aufgabe nahtlos - zu einem Bruchteil der Kosten - können Unternehmen wertvolle Einblicke in die reiche Daten, die sie erworben haben, zu finden und zu akkumulieren.

Die Macht der Hadoop liegt verschiedene Arten im Umgang mit - in der Tat, jede Art - von Daten: Text, Sprache, E-Mails, Fotos, Posts, Tweets, nennen Sie es. Hadoop nimmt diese Daten zu aggregieren, in all seiner Vielfalt und bietet Ihnen die Möglichkeit, alle Daten an Ihrer Bequemlichkeit abzufragen.

Sie müssen kein Schema erstellen, bevor Sie Sinn für Ihre Daten- Hadoop ermöglicht machen können Sie diese Daten in ihrem ursprünglichen Format abfragen.

Neben großen Mengen unterschiedlicher Umgang mit Daten ist Hadoop fehlertolerant, mit einfachen Programmen, die die Terminierung der Verarbeitung verteilt über mehrere Maschinen verarbeiten. Diese Programme können Hardware-Fehler erkennen und eine Aufgabe an einen anderen laufenden Maschine umleiten. Diese Anordnung ermöglicht Hadoop eine hohe Verfügbarkeit zu liefern, unabhängig von Hardware-Fehler.

Hadoop verwendet zwei Hauptkomponenten (Teilprojekte), seine Arbeit zu tun: MapReduce und Hadoop Distributed File System. Die beiden Komponenten arbeiten kooperativ:

  • Karte verkleinern: Umsetzung des Hadoop von MapReduce basiert auf Googles Forschung auf Programmiermodelle große Datensätze zu verarbeiten, indem sie in kleine Blöcke von Aufgaben zu teilen. MapReduce verwendet verteilte Algorithmen, auf eine Gruppe von Computern in einem Cluster, große Datenmengen zu verarbeiten. Es besteht aus zwei Funktionen:

  • Das Karte () Funktion die befindet sich auf dem Master Knoten (Vernetzte Computer). Es teilt die Eingabeabfrage oder Aufgabe in kleinere Teilaufgaben, die sie dann verteilt auf Arbeiter Knoten dass die kleineren Aufgaben bearbeiten und die Antworten zurück an den Master-Knoten übergeben. Die Teilaufgaben werden parallel auf mehreren Computern ausgeführt werden.

  • Das Reduzieren () Funktion sammelt die Ergebnisse aller Teilaufgaben und kombiniert sie eine aggregierte Endergebnis zu produzieren - was sie als Antwort auf die ursprüngliche große Abfrage gibt.

  • Hadoop Distributed File System (HDFS): HDFS repliziert in Ihrem Rechenzentrum auf anderen Computern befinden (um Zuverlässigkeit zu gewährleisten) und verwaltet die Übertragung von Daten an die verschiedenen Teile des verteilten Systems die Datenblöcke, die.

  • Betrachten wir eine Datenbank von zwei Milliarden Menschen, und übernehmen Sie die Anzahl der sozialen Freunde von Herrn X zu berechnen wollen und ordnen sie nach ihrer geografischen Standorten. Das ist eine große Herausforderung.

    Die Daten für die zwei Milliarden Menschen in sehr unterschiedlichen Quellen wie soziale Netzwerke, E-Mail-Adresse Listen, Posts, Tweets, Browsing Geschichten stammen könnten - und das ist nur für Öffner. Hadoop können diese riesige, vielfältige Masse an Daten aggregieren, so dass Sie es mit einer einfachen Abfrage untersuchen können.

    Sie würden MapReduce-Programmierfunktionen nutzen diese Abfrage zu lösen. Definieren von Karte und Verfahren reduzieren macht auch dieses große Daten-Set überschaubar. Mit den Werkzeugen, die die Hadoop Framework bietet, würden Sie eine MapReduce Implementierung erstellen, die die Berechnung als zwei Teilaufgaben tun würde:

    • Berechnen Sie die durchschnittliche Anzahl der sozialen Freunde von Herrn X.

    • Ordnen Sie Mr. X Freunde je nach geographischer Lage.

    Ihre MapReduce Umsetzungsprogramm würde diese Teilaufgaben parallel verwalten die Kommunikation zwischen den Teilaufgaben ausführen und die Ergebnisse zusammenzustellen. Von zwei Milliarden Menschen, würden Sie wissen, wer Mr. X Online-Freunde sind.

    Hadoop bietet eine Reihe von Map processors- ein, welche (n) Sie wählen auf Ihrer Infrastruktur ab.

    Jeweils die Prozessoren eine bestimmte Anzahl von Datensätzen handhaben. Nehmen wir an, dass jeder Prozessor eine Million Datensätze verarbeitet. Jeder Prozessor führt eine Karte Prozedur, die mehrere Datensätze von Schlüssel-Wert-Paare erzeugt, wo G (Key) ist die geographische Lage eine Person (Land) und N (Wert) ist die Anzahl der Kontakte der Person hat.

    Angenommen, jeder Map-Prozessor viele Paare der Form erzeugt , wie die folgenden:

    Prozessor-Karte # 1:
    Prozessor-Karte # 2:
    Prozessor-Karte # 3:
    Prozessor-Karte # 4:
    Prozessor-Karte # 5:

    Prozessor-Karte # 6:

    In der Phase reduzieren, weist Hadoop eine Aufgabe zu einer bestimmten Anzahl von Prozessoren: das Verfahren Reduzieren ausführen, die die Werte der gleichen Tasten aggregiert ein Endergebnis zu erzeugen. Für dieses Beispiel die Implementierung reduzieren summiert die Anzahl der Werte für jede Taste nach oben - die geographische Lage. Also, nach der Karte Phase, reduzieren Sie die Phase ergibt folgendes:

     ------ ---- 

    Offensichtlich ist Herr X ein beliebter Kerl - aber dies war ein sehr einfaches Beispiel, wie MapReduce verwendet werden. Stellen Sie sich mit einem großen Daten-Set zu tun hat, wo Sie komplexe Operationen wie Clustering Milliarden von Dokumenten durchgeführt werden soll, wo der Betrieb und die Daten einfach zu groß ist für eine einzige Maschine zu handhaben. Hadoop ist das Werkzeug zu betrachten.

    Menü