Wenn in einem Map Reduce-Code mehrere Reduzierungen vorhanden sind, besteht zwischen diesen keine Kommunikation. Wenn jedoch eine Operation wie die Aggregation durchgeführt wird, erzeugen alle Reduzierer zusammen eine einzige Endausgabe. Wie erfolgt die Aggregation, wenn keine Kommunikation zwischen ihnen stattfindet? (Context.write())Wie aggregiert der Reduktor den Output aller Reduktoren und produziert den endgültigen Output?
0
A
Antwort
0
Wenn Sie die Anzahl der reduzierenden Aufgaben auf 1 setzen (was auch der Standardwert ist), werden alle reduce() -Methoden von demselben ausgeführt Aufgabe, so dass keine Kommunikation benötigt wird.
Wenn Sie die Anzahl der reduzieren Aufgaben n gesetzt, dann werden Sie n Ausgabedateien haben, nicht nur 1. Diese Ergebnisse sind in der Tat unabhängig. Vielleicht sollten Sie angeben, was Sie mit "Aggregation" meinen.
Verwandte Themen
- 1. Output
- 2. Output seltsam
- 3. Wie bekomme ich den Wert einer gespeicherten Prozedur OUTPUT-Variable
- 4. JavaFx Audio Output Selection
- 5. nodejs garbage collection output
- 6. pandas query single output
- 7. Verständnis JMH Output
- 8. Google Tabellen Query Output
- 9. Wie Output verwenden Zeiger hinzuzufügen
- 10. Output innerHTML- mit
- 11. Interpretieren numpy.fft.fft2 output
- 12. webpack & output: publicpath konfusion?
- 13. Output hängt keinen
- 14. Notwendigkeit, "grep" Multiple Output
- 15. Catching Output einer Bibliotheksfunktion
- 16. Angular 2 @Output-Parameter
- 17. Select Case falsch Output
- 18. Android ffmpeg Output Error
- 19. Nesting command zu output
- 20. Mehrere vollständige HTML-Dateien in den Single-Output-Stream schreiben?
- 21. Output JSON-Array ohne den Klassennamen in jedem Array-Element
- 22. Bestellen php echo output
- 23. Bash join ls output
- 24. Colorize tail output
- 25. Gradle Logging Output Levels
- 26. bash output redirection limits?
- 27. Understanding lsof output
- 28. Change Boolean Output
- 29. Angular2 "Output" Rückruf
- 30. Output von Schlaufen
Danke für die Antwort @veththym. Ich verstehe, dass es so viele Teildateien wie die Anzahl der Reduzierungen geben würde. Aber meine Frage war die Logik oder die durchgeführte Operation wird auf allen Reduzierern sein und es wird nur einen Ausgang für alle diese geben und nicht ein lokales Ergebnis pro Reduzierer (was ein Kombinierer tut). Klärt das meine Frage? –
@spark_dream Nein, tut es nicht. Jeder der Reduzierer arbeitet unabhängig, verarbeitet eine unabhängige Menge von Schlüsseln (regiert von Partitioner) und hat einen eigenen unabhängigen Ausgabepfad in HDFS. Also verstehe ich nicht, was Sie unter dem Begriff "Aggregation" verstehen. – gudok
@gudok Lass mich es klarer machen. Wenn mein Anwendungsfall zum Beispiel darin besteht, die Gesamtzahl der Wörter in einer gegebenen Textdatei zu finden (nicht die individuelle Anzahl für jedes Wort), wie könnte ein MapReduce-Job dies tun? –