Was ist MapReduce? Erfahren Sie in drei Minuten, wie MapReduce funktioniert.

Tomorin
Freigeben: 2020-07-13 16:22:50
Original
6354 Leute haben es durchsucht

Python verfügt über integrierte Funktionen map() und reduce().

Wenn Sie Googles berühmtes Papier „MapReduce: Simplified Data Processing on Large Clusters“ gelesen haben, können Sie das Konzept von Map/Reduce grob verstehen.

Schauen wir uns zuerst die Karte an. Die Funktion „map()“ empfängt zwei Parameter, einer ist eine Funktion und der andere ist eine iterierbare Karte, wendet die übergebene Funktion nacheinander auf jedes Element der Sequenz an und gibt das Ergebnis als neuen Iterator zurück.

Zum Beispiel haben wir eine Funktion f(x)=x2, und wir möchten diese Funktion auf eine Liste [1, 2, 3, 4, 5, 6, 7, 8, 9]. Sie können map() verwenden, um es wie folgt zu implementieren:

Was ist MapReduce? Erfahren Sie in drei Minuten, wie MapReduce funktioniert.

Jetzt verwenden wir Python-Code, um es zu implementieren:

>>> def f(x):...     return x * x
...>>> r = map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])>>> list(r)
[1, 4, 9, 16, 25, 36, 49, 64, 81]
Nach dem Login kopieren

map() Übergabe Der erste Parameter ist f, das Funktionsobjekt selbst. Da das Ergebnis r ein Iterator ist und Iterator eine Lazy-Sequenz ist, verwenden wir die Funktion list(), um es berechnen zu lassen die gesamte Sequenz. Und gibt eine Liste zurück.

Sie denken vielleicht, dass Sie die Funktion map() nicht benötigen. Sie können das Ergebnis auch berechnen, indem Sie eine Schleife schreiben:

L = []for n in [1, 2, 3, 4, 5, 6, 7, 8, 9]:
    L.append(f(n))
print(L)
Nach dem Login kopieren

Es ist tatsächlich möglich, Aber können Sie aus der obigen Schleife den Code auf einen Blick verstehen: „Wenden Sie f(x) auf jedes Element der Liste an und generieren Sie als Ergebnis eine neue Liste“?

Also abstrahiert map() tatsächlich die Operationsregeln. Daher können wir nicht nur einfaches f(x)=x2 berechnen, sondern auch beliebige Komplexe Funktionen wandeln beispielsweise alle Zahlen dieser Liste in Strings um:

>>> list(map(str, [1, 2, 3, 4, 5, 6, 7, 8, 9]))
['1', '2', '3', '4', '5', '6', '7', '8', '9']
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWas ist MapReduce? Erfahren Sie in drei Minuten, wie MapReduce funktioniert.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage