Zuhause Persönliche Finanzen Verwendung von MapReduce für Big Data - Dummies

Verwendung von MapReduce für Big Data - Dummies

Inhaltsverzeichnis:

Video: Big Data & Smart Data: Definition, Beispiel und praktischer Nutzen für Unternehmen 2024

Video: Big Data & Smart Data: Definition, Beispiel und praktischer Nutzen für Unternehmen 2024
Anonim

MapReduce ist ein Software-Framework, das sich ideal für Big Data eignet, da es Entwicklern ermöglicht, Programme zu schreiben, die große Mengen an unstrukturierten Daten parallel über eine verteilte Gruppe von Prozessoren verarbeiten können.

Die Kartenfunktion für Big Data

Die Funktion map ist seit Jahren Bestandteil vieler funktionaler Programmiersprachen. Karte wurde als Kerntechnologie für die Verarbeitung von Listen von Datenelementen neu belebt.

Operatoren in funktionalen Sprachen verändern die Struktur der Daten nicht; Sie erzeugen neue Datenstrukturen als ihre Ausgabe. Die ursprünglichen Daten selbst sind ebenfalls unverändert. So können Sie die Kartenfunktion ungestraft nutzen, da Ihre wertvollen gespeicherten Daten nicht beschädigt werden.

Ein weiterer Vorteil der funktionalen Programmierung besteht darin, dass die Bewegung oder der Fluss der Daten nicht ausdrücklich verwaltet werden muss. Dies enthebt den Programmierer der expliziten Verwaltung der Datenausgabe und -platzierung. Schließlich ist die Reihenfolge der Operationen an den Daten nicht vorgeschrieben.

Ein Weg, um die Lösung zu erreichen, besteht darin, die Eingabedaten zu identifizieren und eine Liste zu erstellen:

mylist = ("alle Bezirke in den USA, die an den letzten allgemeinen Wahlen teilgenommen haben") > Legen Sie die Funktion howManyPeople mit der Kartenfunktion

an. Dies wählt nur die Kreise mit mehr als 50 000 Personen aus: map howManyPeople (mylist) = [howManyPeople "county 1"; howManyPeople "Grafschaft 2"; howManyPeople "Grafschaft 3"; howManyPeople "Grafschaft 4"; …]

Erstellen Sie nun eine neue Ausgabeliste aller Kreise mit Bevölkerungszahlen größer als 50 000:

(nein, Kreis 1; ja, Kreis 2; nein, Kreis 3; ja, Kreis 4;?, Kreis nnn)
Die Funktion wird ausgeführt, ohne Änderungen an der ursprünglichen Liste vorzunehmen. Außerdem können Sie sehen, dass jedes Element der Ausgabeliste einem entsprechenden Element der Eingabeliste zugeordnet ist, mit einem Ja oder Nein. Wenn der Landkreis die Anforderung von mehr als 50.000 Menschen erfüllt hat, identifiziert die Kartenfunktion es mit einem Ja. Wenn nicht, wird ein Nein angezeigt.

Hinzufügen der Reduktionsfunktion für große Daten

Wie die Kartenfunktion ist

reduce seit vielen Jahren ein Merkmal funktionaler Programmiersprachen. Die Reduzierfunktion nimmt die Ausgabe einer Abbildungsfunktion und "reduziert" die Liste auf beliebige Weise, die der Programmierer wünscht. Der erste Schritt, den die Reduktionsfunktion erfordert, besteht darin, einen Wert in einen so genannten

-Akkumulator , zu setzen, der einen Anfangswert enthält. Nach dem Speichern eines Startwerts im Akkumulator verarbeitet die Reduzierfunktion dann jedes Element der Liste und führt die Operation durch, die Sie über die Liste benötigen.

Am Ende der Liste gibt die Funktion reduce einen Wert zurück, der darauf basiert, welche Operation Sie in der Ausgabeliste durchführen wollten.

Angenommen, Sie müssen die Landkreise ermitteln, in denen die Mehrheit der Stimmen für den demokratischen Kandidaten war. Denken Sie daran, dass Ihre Kartenfunktion "howManyPeople" jedes Element der Eingabeliste betrachtet und eine Ausgabeliste der Bezirke mit mehr als 50.000 Personen (Ja) und der Bezirke mit weniger als 50.000 Personen (Nein) erstellt hat.

Nach dem Aufrufen der howManyPeople-Zuordnungsfunktion bleibt die folgende Liste übrig:

(Nein, Kreis 1; Ja, Kreis 2; Nein, Kreis 3; Ja, Kreis 4;?), Kreis nnn)

Dies ist jetzt die Eingabe für Ihre Reduzierfunktion. Hier ist, wie es aussieht:

countylist = (no, county 1; ja, county 2; nein, county 3; ja, county 4;?, County nnn) reduce isDemocrat (countylist)

Die reduzierten Funktionsprozesse Jedes Element der Liste und gibt eine Liste aller Landkreise mit einer Bevölkerung von mehr als 50 000, wo die Mehrheit der Demokraten wählte.

Die Big-Data-Map zusammenlegen und verkleinern

Manchmal ist es gerade genug, eine Output-Liste zu erstellen. Ebenso ist es manchmal ausreichend, Operationen an jedem Element einer Liste durchzuführen. Meistens möchten Sie große Mengen von Eingabedaten durchsuchen, bestimmte Elemente aus den Daten auswählen und dann aus den relevanten Datenelementen einen Wert berechnen.

Sie möchten diese Eingabeliste nicht ändern, damit Sie sie mit neuen Annahmen und neuen Daten unterschiedlich verwenden können.

Softwareentwickler entwerfen Anwendungen, die auf Algorithmen basieren. Ein

-Algorithmus ist nichts weiter als eine Reihe von Schritten, die im Dienste eines Gesamtziels stattfinden müssen. Es könnte ein wenig so aussehen: Beginnen Sie mit einer großen Zahl oder Daten oder Datensätzen.

  1. Durchlaufen Sie die Daten.

  2. Verwenden Sie die Kartenfunktion, um etwas Interessantes zu extrahieren und eine Ausgabeliste zu erstellen.

  3. Organisieren Sie die Ausgabeliste, um sie für die weitere Verarbeitung zu optimieren.

  4. Verwenden Sie die Funktion "Reduzieren", um eine Reihe von Ergebnissen zu berechnen.

  5. Erzeugt die endgültige Ausgabe.

  6. Programmierer können alle Arten von Anwendungen unter Verwendung dieses Ansatzes implementieren, aber die Beispiele bis zu diesem Punkt waren sehr einfach, so dass der tatsächliche Wert von MapReduce möglicherweise nicht offensichtlich ist. Was passiert, wenn Sie extrem große Eingabedaten haben? Können Sie den gleichen Algorithmus für Terabytes an Daten verwenden? Die gute Nachricht ist ja.

Alle Operationen scheinen unabhängig zu sein. Das ist, weil sie es sind. Die wahre Stärke von MapReduce ist die Fähigkeit zu teilen und zu erobern. Nimm ein sehr großes Problem und zerlege es in kleinere, überschaubare Brocken, bearbeite jeden einzelnen Brocken selbstständig und ziehe ihn dann am Ende zusammen. Außerdem ist die Zuordnungsfunktion kommutativ - mit anderen Worten spielt die Reihenfolge, in der eine Funktion ausgeführt wird, keine Rolle.

So kann MapReduce seine Arbeit auf verschiedenen Computern in einem Netzwerk ausführen. Es kann auch aus mehreren internen oder externen Datenquellen auswählen. MapReduce verfolgt seine Arbeit, indem es einen eindeutigen Schlüssel erstellt, um sicherzustellen, dass die gesamte Verarbeitung mit der Lösung desselben Problems zusammenhängt.Dieser Schlüssel wird auch verwendet, um alle Ausgaben am Ende aller verteilten Aufgaben zusammenzuziehen.

Verwendung von MapReduce für Big Data - Dummies

Die Wahl des Herausgebers

Optimierung sozialer Medien: Anpassung von Inhalten an Specialty Channels - Dummies

Optimierung sozialer Medien: Anpassung von Inhalten an Specialty Channels - Dummies

Eine der besten Möglichkeiten, um Zusätzliche Meilenzahl von Ihren Sozialmedieninhalt ist, sie umzupacken und sie auf verschiedenen Kanälen freizugeben. Wenn Sie einen Blogbeitrag haben und den Beitrag direkt über Social Sharing bewerben, können Sie diesen Blogpost in eine herunterladbare PDF-Datei umwandeln. Wenn die ...

Social-Media-Optimierung: SMART Marketing - Dummies

Social-Media-Optimierung: SMART Marketing - Dummies

Wenn Sie Ihre Social Media-Ziele definiert haben, haben Sie Ihr Ziel identifiziert Zielgruppe und fand heraus, wo sie auf Social-Media-Kanälen zu finden sind, nutzte die Daten aus Analyse-Programmen, um die optimale Zeit zu bestimmen, um in sozialen Medien aktiv zu sein, und eine umfassende Social-Media-Verhaltenspolitik setzen Sie sind bereit, zu bewegen ...

Social Media Optimierung: Was Sie über Semantic Markup wissen sollten - Dummies

Social Media Optimierung: Was Sie über Semantic Markup wissen sollten - Dummies

Wenn Sie möchten Um mit Ihrer Social-Media-Optimierungsstrategie wirklich erfolgreich zu sein, müssen Sie etwas über semantisches Markup wissen. Einfach gesagt ist semantisches Markup ein standardisierter Weg, um Code zu schreiben, der eine Webseite für dumme Maschinen wie Suchmaschinen leicht verständlich macht. Es ist eine Möglichkeit, den Inhalt einer Webseite mit Anmerkungen zu versehen ...

Die Wahl des Herausgebers

Online-Community-Manager sollten ihre Ausbildung ausweiten - Dummies

Online-Community-Manager sollten ihre Ausbildung ausweiten - Dummies

Haben Sie keine Angst, etwas Neues zu lernen. Dies kann bedeuten, dass Sie Artikel über Ihre Branche, die Marke und das Online-Community-Management lesen. Dies kann bedeuten, dass Sie nach Bildung suchen, die es Ihnen ermöglicht, Ihre Community besser zu betreiben. Es schadet nie, grundlegendes Web- oder Blog-Design zu kennen und auf dem neuesten Stand der Technik zu bleiben. Außerdem ...

Online-Community-Manager sollten mit Beispiel führen - Dummies

Online-Community-Manager sollten mit Beispiel führen - Dummies

Ihre Community orientiert sich an Ihnen. Wenn du schwörst und nistest, werden die Mitglieder wissen, dass dieses Verhalten in Ordnung ist. Wenn Sie aber jeden Morgen fröhlich grüßen, folgen sie Ihrem Beispiel. Sogar Leute, die von Drama und Negativität angezogen werden, werden sich entweder an der guten Miene beteiligen, oder sie werden so müde ...

Online Community-Manager Bleiben Sie auf dem neuesten Stand der Trends - dummies

Online Community-Manager Bleiben Sie auf dem neuesten Stand der Trends - dummies

Ob es sich um Ihre Online-Community handelt oder nicht müssen Sie sich der Marktentwicklung bewusst sein. Was kaufen Leute? Wie kommunizieren sie online? Geben sie mehr oder weniger Geld aus? Welche Lebensmittel, Gadgets oder Moden sind rein oder raus? Um auf dem neuesten Stand der Trends zu bleiben, sollten Sie wissen, was und was so ist.

Die Wahl des Herausgebers

Kennenlernen der Aufgabenleiste in Outlook 2007 - dummies

Kennenlernen der Aufgabenleiste in Outlook 2007 - dummies

Ausblick 2007 eine neue Funktion namens To-Do-Leiste, die alle Dinge, die Sie tun müssen, zusammenfasst und sie in einem Bereich auf der rechten Seite des Outlook-Bildschirms anzeigt. Das Ziel der To-Do-Leiste ist es, Ihnen mitzuteilen, was Sie auf einen Blick tun müssen, anstatt ...

ÄNdern der Größe einer Notiz in Outlook 2013 - Hinweise für Dummies

ÄNdern der Größe einer Notiz in Outlook 2013 - Hinweise für Dummies

In Outlook 2013 befolgen alle Regeln dass andere Windows-Boxen folgen, also wenn Sie ein alter Hase beim Verschieben und Ändern der Größe von Boxen in Windows sind, werden Sie in Ordnung sein. Wenn Sie mit Windows und Dialogfeldern noch nicht vertraut sind, machen Sie sich keine Sorgen - Notizen lassen sich genauso einfach in der Größe ändern wie zum Schreiben und Lesen. Ändern ...

Kennenlernen von Ansichten in Outlook 2007 - Dummys

Kennenlernen von Ansichten in Outlook 2007 - Dummys

In Outlook 2007 verfügt jedes Outlook-Modul über eine eigene Auswahl von Ansichten. Jede Art von Ansicht ist so organisiert, dass ein bestimmtes Merkmal Ihrer Informationen auf den ersten Blick sichtbar wird. Sie können die Art ändern, wie Sie eine Ansicht anzeigen, indem Sie sie sortieren, filtern oder gruppieren. Sie können mit Ansichten nicht falsch gehen, weil Sie ...