Ich habe ein Objekt:im Cluster-Modus DistributedCached Verwenden von
class Cache {
Map<K,V> map;
}
I DistributedCache verwendet, um eine URI enthält, dieses Objekt zu spezifizieren, dann in der Setup() Funktion in jeder Karte Aufgabe, geladen ich dieses Cache-Objekt für die Verarbeitung Insbesondere verwendete Cache-Objekt, um einen Wert in jeder Map-Task zu speichern.
Meine Frage ist, dass der Inhalt der Karte in jedem Datenknoten unterschiedlich sein wird, wenn wir im Cluster-Modus Hadoop ausführen. Ist es richtig? Wenn ich im lokalen Modus entwickelt habe, enthält der Inhalt der Karte das Ergebnis für den gesamten Datensatz.
Danke für deine Antwort, aber was ich meine hier ist, dass der Inhalt der map'p anders sein wird oder nicht? Bsp .: Knoten 1 enthält A, B, C, Knoten 2 enthält D, E, F ... dann enthält die Cachedatei in Knoten 1 (A, B, C) und die Cachedatei in Knoten 2 (D, E, F) ? – nd07
Wenn Sie Map Reduce Applications schreiben, möchten Sie, dass einige Dateien für alle Knoten in Hadoop Cluster freigegeben werden. Es kann eine einfache Eigenschaftendatei oder eine ausführbare JAR-Datei sein. Hadoop Map Reduce Project bietet uns diese Möglichkeit mit etwas, das als DistributedCache bezeichnet wird. Dieser verteilte Cache wird mit der Jobkonfiguration konfiguriert. Er bietet schreibgeschützte Daten für alle Computer im Cluster. –