MapReduce
Apache MapReduce ist ein Open-Source-Projekt zur Erzeugung und Speicherung großer Datensätze. Das MapReduce läuft auf einem geclusterten Computersystem. Die Verarbeitung besteht aus zwei Phasen. Die Mapper-Phase verarbeitet Eingabedaten, die in Schlüssel-Wert-Paare umgewandelt werden. Die Ausgabe des Mapper-Prozesses wird anschließend an den Reducer-Prozess weitergeleitet, der seine Eingabedatensätze komprimiert.
Warum ist MapReduce wichtig?
Wenn Sie Petabytes an Daten schnell und wirtschaftlich verarbeiten müssen, brauchen Sie MapReduce und Hadoop. Hadoop ist heute fast ein Synonym für Big Data Verwendung, da es Unternehmen ermöglicht, Tausende von Standardprozessoren zur Verarbeitung großer Datensätze einzusetzen.
MapReduce entstand aus dem Bedarf an Systemen zur effizienten Verarbeitung von Datensätzen, die bis in den Petabyte-Bereich reichen können. Daten liegen in vielen Formaten vor, die verarbeitet, gespeichert und abgerufen werden müssen. Das Hadoop Distributed File System (HDFS) verwendet MapReduce als Kernkomponente seiner Architektur, um eine Vielzahl von Daten auf skalierbar und flexible Weise zu verarbeiten.
MapReduce kann in gängigen Sprachen wie Python, C++ und Java aufgerufen werden.
Ausführen einer MapReduce
Die Durchführung eines MapReduce auf einem Datensatz erfordert die Verwendung von zwei Kernmethoden: die Mapper-Schnittstelle und die Reducer-Schnittstelle.
Der Mapper
Die Aufgaben, die Eingabedatensätze in Zwischensätze umwandeln, werden als Maps bezeichnet. Ein Eingabepaar kann auf null oder mehr Ausgabedatensätze (Zwischensätze) abgebildet werden, die einen Datentyp aus dem Eingabewertpaar darstellen können. Der Map-Prozess kann parallel mit einer Aufgabe pro Eingabedatensatz ausgeführt werden. Wenn also ein Datensatz in zehn separate Dateien aufgeteilt wird, werden zehn Map-Aufgaben erstellt.
Anwendungen können einen integrierten Zähler verwenden, um Statistiken über den Vorgang zu erhalten. Die Ausgabe kann gruppiert, sortiert und partitioniert werden, bevor sie an die Reducer-Aufgaben weitergegeben wird. Für jede Partition gibt es eine Aufgabe , es sei denn, der Entwickler entscheidet sich für eine Aggregation mithilfe eines Combiners, um das Datenvolumen in dieser Phase zu kontrollieren.
Die zwischengespeicherten, sortierten Ausgabedatensätze haben das Format (Schlüssel-Len, Schlüssel, Wert-Len, Wert). Anwendungen können in der Konfiguration einen Komprimierungscodec angeben.
Parallelisierung der Map-Tasks
Die Anzahl der parallelen Map-Aufgaben hängt von der Gesamtzahl der Dateiblöcke und der Anzahl der Arbeiter pro Knoten ab, die bei einer Multi-Terabyte-Datei Tausende betragen kann.
Die Methode "Reduzieren
Die von der Mapper-Methode erzeugten Zwischenwerte können die Reduce-Methode durchlaufen, die eine kleinere Anzahl von Werten erzeugt, die einen gemeinsamen Schlüssel haben. Die Anzahl der Reducer-Aufträge ist konfigurierbar.
Die Reducer-Methode verwendet eine Reihe von Schritten, die mit einem Shuffle und einer Sortierung beginnen, die gleichzeitig stattfinden, gefolgt von dem Reduce-Schritt.
Beim Shuffle-Schritt holt das Framework einen bestimmten Mapper-Ausgabestrom zum Reducer-Job. Im Sortierschritt gruppiert das Framework die Mapper-Ausgabe nach Schlüsselwerten. Sekundäre Schlüsselsortierungen sind konfigurierbar.
The Reduce method is called for every <key, (list of values)> pair in the grouped inputs, which is eventually written to the file system in an unsorted form.
Die Ausgabe des Reducers ist nicht sortiert. Die Reduzierung kann optional gemacht werden, indem die Anzahl der Aufgaben auf Null gesetzt wird.
Aufteilung
Die Zwischenergebnisse der Karte können mit einer Hash-Funktion partitioniert werden, die einen Teil des Schlüsselwerts verwendet. Die Anzahl der Partitionen bestimmt die Anzahl der reduzierten Aufgaben.
Sowohl der Mapper als auch der Reducer können die Funktion Zähler verwenden, um Statistiken zu erstellen.
Die Vorteile von MapReduce
Im Folgenden finden Sie eine Zusammenfassung der wichtigsten Vorteile von MapReduce:
- Eine höchst skalierbar Methode zur Komprimierung großer Datenmengen.
- Bietet Open-Source-Wirtschaft.
- Unterstützt multiple data .
- Die MapReduce wird als Standardbestandteil der Apache Hadoop-Distribution geliefert.
- Einfach für Entwickler zu verwenden.
Actian und die Data Intelligence Plattform
Die Actian Data Intelligence Platform wurde speziell dafür entwickelt, Unternehmen bei der Vereinheitlichung, verwalten und dem Verständnis ihrer Daten in hybriden Umgebungen zu unterstützen. Sie vereint Metadaten , Governance, Lineage, Qualitätsüberwachung und Automatisierung in einer einzigen Plattform. So können Teams sehen, woher die Daten kommen, wie sie verwendet werden und ob sie internen und externen Anforderungen entsprechen.
Durch seine zentrale Schnittstelle unterstützt Actian Erkenntnis über Datenstrukturen und -flüsse und erleichtert so die Anwendung von Richtlinien, die Lösung von Problemen und die abteilungsübergreifende Zusammenarbeit. Die Plattform hilft auch dabei, Daten mit dem geschäftlichen Kontext zu verbinden, damit Teams Daten effektiver und verantwortungsvoller nutzen können. Die Plattform von Actian ist so konzipiert, dass sie mit sich entwickelnden Datenökosystemen skaliert und eine konsistente, intelligente und sichere Datennutzung im gesamten Unternehmen unterstützt. Fordern Sie Ihr persönliches Demo an.