Ich möchte den verteilten Cache verwenden, damit meine Mapper auf Daten zugreifen können. In main verwende ich den Befehl
%Vor%where / user / peter / cacheFile / testCache1 ist eine Datei, die in hdfs existiert
Dann sieht meine Setup-Funktion folgendermaßen aus:
%Vor%Dieses localFiles-Array ist jedoch immer null.
Ich habe anfangs auf einem Single-Host-Cluster zum Testen ausgeführt, aber ich habe gelesen, dass dadurch der verteilte Cache nicht funktioniert. Ich habe versucht mit einem Pseudo-verteilt, aber das hat auch nicht funktioniert
Ich benutze hadoop 1.0.3
danke Peter
Problem hier war, dass ich folgendes tat:
%Vor%Da der Job-Konstruktor eine interne Kopie der conf-Instanz erstellt, hat ein nachträgliches Hinzufügen der Cache-Datei keine Auswirkungen. Stattdessen sollte ich das tun:
%Vor%Und jetzt funktioniert es. Danke an Harsh auf hadoop user list für die Hilfe.
Sobald der Job einem Konfigurationsobjekt zugewiesen wurde,
zB Configuration conf = new Configuration();
Und dann, wenn sich Attribute von conf wie unten gezeigt, zB
%Vor%oder
%Vor%Solche Änderungen würden sich nicht in einem Pseudocluster oder Cluster widerspiegeln, wie auch immer es mit der lokalen Umgebung funktionieren würde.
Tags und Links hadoop