Ich habe ein MapReduce-Programm, das Dateien rekursiv aus einem Ordner und seinen Unterordnern liest. Ich habe eine benutzerdefinierte Dateieingabeformatklasse geschrieben, um isSplitable false zu machen, um sicherzustellen, dass eine vollständige Datei an nur einen Mapper geht und die Datei zeilenweise gelesen wird. Jetzt suche ich nach einem Muster und wenn eine Übereinstimmung gefunden wird, möchte ich nicht fortfahren und möchte die Ausführung der aktuellen Datei überspringen. Wie können wir das in einer Mapper-Klasse erreichen?Wie kann ich gerade die Datei von Mapper in MapReduce überspringen?
0
A
Antwort
0
Sie können die run-Methode einfach erneut implementieren. Zum Beispiel mit einem booleschen Feld, um direkt in die Bereinigungsphase zu schließen.
public class SkipMapper extends Mapper<LongWritable, Text, Text, Text> {
private boolean skip;
@Override
protected void map(LongWritable key, Text value,
Mapper<LongWritable, Text, Text, Text>.Context context)
throws IOException, InterruptedException {
// map with the matcher
if (match) {
skip = true;
}
}
@Override
public void run(Mapper<LongWritable, Text, Text, Text>.Context context)
throws IOException, InterruptedException {
setup(context);
try {
while (!skip && context.nextKeyValue()) {
map(context.getCurrentKey(), context.getCurrentValue(), context);
}
} finally {
cleanup(context);
}
}
}
Verwandte Themen
- 1. MapReduce Job ohne Mapper
- 2. C# HDInsight MapReduce übergeben Argumente an Mapper
- 3. Setup- und Bereinigungsmethoden von Mapper/Reducer in Hadoop MapReduce
- 4. Wie kann ich HBase-Zeilen überspringen, denen bestimmte Spalten fehlen?
- 5. Kann ich einfach eine Datei "lesen", die gerade verwendet wird?
- 6. Hadoop Schreiben in eine neue Datei von Mapper
- 7. Parsing XML-Datei in MapReduce
- 8. Wie kann ich Commits in Git überspringen?
- 9. Kann ich die Implementierung des Tessellations-Shaders in OpenGL überspringen?
- 10. MapReduce erfordert, dass alle Mapper vor der Kombinationsstufe fertig sind
- 11. Iterative MapReduce
- 12. Wie können Sie mit der GAE MapReduce-API für Java die Ausgabe vom Mapper erfassen?
- 13. Wie kann ich eine Datei vom Import überspringen, wenn die Datei nicht existiert?
- 14. Ausstrahlung von Zwischenschlüsseln in MapReduce durch eine For-Schleife - habe ich MapReduce missverstanden? Grundlegendes Beispiel enthalten.
- 15. wie n Dateien mit mapreduce code verschmelzen?
- 16. .resx-Datei, die die Seite gerade verwendet
- 17. Wie kann ich feststellen, ist die Zahl gerade?
- 18. Wie kann ich Paket von Maven aber überspringen Erzeugung von Kriegs-Datei
- 19. Amazon MapReduce keine Reduzierung Job
- 20. Wie kann ich Felder mit JavaScript überspringen?
- 21. Wie kann ich Zeilen überspringen, wenn ich eine Datei in Perl schlürfe?
- 22. Mapreduce Combiner
- 23. Wie finde ich Dateien, die gerade in Linux geschrieben sind?
- 24. Kombinieren von Hadoop MapReduce und Datenbankabfragen
- 25. Wie kann ich das Element von Array .map überspringen?
- 26. Kopfzeile überspringen beim Analysieren von .csv-Datei
- 27. Spezifizieren Sie Hadoop mapreduce Eingabetasten direkt (nicht aus einer Datei)
- 28. Fehlersuche R-Mapper-Skript auf Amazon Elastic MapReduce - Ergebnisse nicht wie erwartet
- 29. Ist es möglich, die Mapper- und Reducer-Ausgabe für einen einzelnen Job in Hadoop Mapreduce zu drucken
- 30. Bloom-Filter in MapReduce
Vielen Dank Thomas, das ist wirklich hilfreich ... –