2013-06-08 4 views
5

Ich habe 2 Textdateien von jeweils 1 MB in HDFS als Eingaben für mein MapReduce-Programm gespeichert. In der folgenden Zeile betrachten wir das Eingabepaar für die map().Was ist LongWritable Key-Eingabe für die map()?

class Map extends MapReduceBase implements Mapper<LongWritable, Text, Text, IntWritable> { 

Was ist ein LongWritable-Schlüssel hier? Wie wird es von MapReduce angenommen? Hat jede Textzeile in der Eingabedatei einen Schlüssel oder wird ein einzelner Schlüssel als vollständiger Text in der Datei angenommen (d. H. Alle Zeilen gleichzeitig)?

Antwort

-1

Es wird Byte Zeilenversatz oder können Sie die Zeilennummer

+1

Sie sollten den 'oder' Teil Ihrer Antwort übersprungen haben. Offset ist nicht die Zeilennummer. es ist die Byte-Position der Linie. – Tariq

+0

Ich bekomme das nicht. Wie kommt es, dass der Versatz einer Linie mit der Nummer dieser Linie übereinstimmt? Ich möchte Sie bitten, mir dabei zu helfen, dies zu verstehen. – Tariq

+0

@ChrisGerken Sie liegen falsch – slater

6

1- Die LongWritable Schlüssel hier sagen, dass die offset der Linie, die in der Datei und not die Zeilennummer position dieser Linie bedeutet, ist. Es gibt a lot Unterschiede zwischen diesen 2.

2- Es ist not assumed von MapReduce-Framework. Es ist die Aufgabe der InputFormat, die Sie in Ihrem MR-Auftrag verwenden, um es zu entscheiden. Standard ist TextInputFormat, die Byte-Offset der Zeile als Schlüssel gibt, wie in Ihrem Fall.

3- Nun, es hängt wieder von Ihrem InputFormat. Wenn Sie TextInputFormat verwenden, wird jede Zeile als Wert mit dem Offset als Schlüssel behandelt. Sie können jedoch Ihr eigenes benutzerdefiniertes InputFormat verwenden, das Ihnen möglicherweise nur einen Schlüssel für die gesamte Datei und alle Zeilen dieser Datei als Wert gibt.

+1

Position ist eindeutig nicht die Nummer. Kann ich den Grund für den Downvote haben? IMHO, es ist die richtige Definition, basierend auf dem, was ich über mapreduce gelernt habe. Könnten Sie mir bitte auch auf die Dokumentation verweisen, auf die Sie sich beziehen? Ich würde das wirklich schätzen. Danke. – Tariq

Verwandte Themen