Ich benutze Hadoop, aber wenn ich meinen Job beginneAusführungs-Mapper werden nach Anzahl der Eingaben erzeugt (was natürlich die gewünschte Operation ist), aber Hadoop erzeugt nur einen Reduzierer unabhängig von der Eingabe. Obwohl es einen gültigen Input-Split gibt, weiß ich nicht, warum Hadoop nur einen Reducer für die Aufgabe erzeugt.
Könnte mir jemand vor der Durchsetzung weiterer Reduzierungen einen Hinweis geben, warum dies geschieht?
Antworten:
0 für die Antwort № 1Überprüfen Sie, ob die Konfiguration für den Job (entweder eine XML-Conf-Datei oder etwas in Ihrem Treiber) die Eigenschaft enthält
mapred.reduce.tasks=1
Einige der Beispieljobs haben dies standardmäßig konfiguriert.
0 für die Antwort № 2
Standardmäßig verwendet Hadoop nur einen Reduzierer, unabhängig von der Größe der Eingabedaten. Hier ist, wie man die Anzahl der Reduzierungen erhöht.