Was ist die Verwendung der ‚Schlüssel K1‘ in der org.apache.hadoop.mapred.Mapper?

StackOverflow https://stackoverflow.com/questions/778497

  •  13-09-2019
  •  | 
  •  

Frage

ich Apache Hadoop lerne und ich war auf der Suche auf dem Wordcount Beispiel org.apache.hadoop.examples.WordCount . Ich habe dieses Beispiel verstehen, aber ich kann sehen, dass der Variable LongWritable Taste nicht in verwendet wurde,

(...)
public void map(LongWritable key, Text value, 
                    OutputCollector<Text, IntWritable> output, 
                    Reporter reporter) throws IOException {
      String line = value.toString();
      StringTokenizer itr = new StringTokenizer(line);
      while (itr.hasMoreTokens()) {
        word.set(itr.nextToken());
        output.collect(word, one);
      }
    }
(...)

Was ist die Verwendung dieser Variablen? Könnte mir jemand ein einfaches Beispiel, wo es verwendet werden würde? Dank

War es hilfreich?

Lösung

Wenn das Inputformat TextInputFormat ist, ist der Schlüssel für die von Anfang an der aktuellen Eingabedatei Offset Bytes.

Wert ist einfach die Textzeile an, dass gegenüber.

Wenn SequenceFileInputFormat verwendet wurde, wäre der Schlüssel sein, was auch immer in die Schlüsselposition des ‚record vollgestopft war. Das gleiche gilt für Wert.

Unterm Strich ist, dass sie Schlüssel / Wert-Typ vom Eingangstyp abhängig ist (Text, Sequenzdatei, etc).

ckw

Andere Tipps

könnte ich falsch sein (ich habe Karte lesen / reduzieren Tutorials aber habe es nicht für reale Projekte verwendet noch) nicht, aber ich denke, im Allgemeinen ist es die Kennung des Eingangs Eintritt ist; zum Beispiel Tupel (Dateiname, Zeilennummer). In diesem speziellen Fall ist es angeblich Zeilennummer, und es ist nicht von Interesse für Wort zählt. Es könnte verwendet werden, wenn die Idee ist, sagen, aggregieren Wort zählt auf pro-line, nicht pro-Datei-Basis (oder für mehrere Dateien, wenn Schlüssel, dass Informationen enthalten haben).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top