Hadoop Input Split Size vs. Block Size
Ich gehe durch den endgültigen Hadoop-Leitfaden, in dem die Eingabe-Splits klar erläutert werden. Es geht so
Eingabesplits enthalten keine tatsächlichen Daten, sondern die Speicherorte für Daten in HDFS
und
Normalerweise entspricht die Größe der Eingangsaufteilung der Blockgröße
1) Angenommen, ein 64-MB-Block befindet sich auf Knoten A und wird zwischen zwei anderen Knoten (B, C) repliziert. Die Größe der Eingabesplits für das Programm zur Kartenreduzierung beträgt 64 MB. Hat diese Aufteilung nur die Position für Knoten A? Oder wird es Orte für alle drei Knoten A, b, C geben?
2) Da die Daten für alle drei Knoten lokal sind, wie das Framework entscheidet (auswählt), eine Maptask auf einem bestimmten Knoten auszuführen?
3) Wie wird verfahren, wenn die Größe des Eingabesplits größer oder kleiner als die Blockgröße ist?