Ich versuche, ein MapReduce-Programm zu implementieren wordcounts von 2 Dateien zu tun, und dann aus diesen Dateien, die die Wort zählt zu vergleichen, um zu sehen, was die häufigsten Wörter sind ...MapReduce Fragen
Ich bemerkte, dass nach tun wordcount für Datei 1, die Ergebnisse, die in das Verzeichnis "/ data/output1 /" gehen, gibt es 3 Dateien darin. - "_SUCCESS" - "_logs" - "Teil-r-00000" Die "Teil-r-00000" ist die Datei, die die Ergebnisse von Datei1 Wordcount enthält. Wie mache ich mein Programm diese bestimmte Datei lesen, wenn der Dateiname in Echtzeit generiert wird, ohne dass ich vorher den Dateinamen kenne?
Auch für die (Schlüssel, Wert) Paare habe ich einen "Identifier" zum "Wert" hinzugefügt, um in der Lage zu sein zu identifizieren, welche Datei und zählen das Wort gehört.
public void map(Text key, Text value, Context context) throws IOException, InterruptedException {
Text newValue = new Text();
newValue.set(value.toString() + "_f2");
context.write(key, newValue);
}
zu einem späteren Zeitpunkt, wie entferne ich die Kennung, so dass ich nur den "Wert" bekommen kann?