Ich habe eine Datei mit der Größe 39MB, ich habe die Blockgröße als 36MB festgelegt. Wenn die Datei in HDFS hochgeladen wird, speichert sie die Datei erfolgreich in zwei Blöcken. Nun, wenn ich eine Karte-Reduce Job (einfache Lese Job) auf diese Datei ausgeführt, zeigen die Job-Zähler: „INFO mapreduce.JobSubmitter: Anzahl der Teilungen: 1“Erstellen von Eingangsaufteilungen (HADOOP)
Das heißt, es wird unter Berücksichtigung der 2 Blöcke als einzelne Split, so sah ich mich um und die Formel für die Berechnung des Spaltgröße gefunden, die wie folgt ist: Größe
Split = max (MinSize, min (maxsize, blocksize))
wo minsize = mapreduce.input.fileinputformat.split.minsize und maxsize = minsize = mapreduce.input.fileinputformat.split.maxsize.
Jetzt in meinem MR-Code stelle ich die folgenden Eigenschaften:
Configuration conf = new Configuration()
conf.set("mapreduce.input.fileinputformat.split.minsize","1")
conf.set("mapreduce.input.fileinputformat.split.maxsize","134217728")
Das minsize = 1 Byte und maxsize = 128 MB, also nach der Formel sollte die Spaltgröße 36 MB sein und somit zwei Splits sollten da sein, aber ich bin immer die gleiche Zählerausgang noch wie:
„INFO mapreduce.JobSubmitter: Anzahl der Teilungen: 1“
Kann mir jemand erklären, warum?
Welche Art von Datei ist das? –
Es ist eine CSV-Datei @BinaryNerd – User9523