Zugreifen auf Dateien im verteilten Hadoop-Cache

8

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

    
Peter Cogan 06.12.2012, 15:10
quelle

4 Antworten

35

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.

    
Peter Cogan 09.12.2012, 02:27
quelle
11
%Vor%

Sie können es auch so machen.

    
Aswin R 11.02.2013 09:53
quelle
4

Sobald der Job einem Konfigurationsobjekt zugewiesen wurde, zB Configuration conf = new Configuration();

%Vor%

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.

    
user2458922 06.06.2013 09:03
quelle
2

Diese Version des Codes (die sich etwas von den oben genannten Konstrukten unterscheidet) hat immer für mich funktioniert.

%Vor%

Ich habe die vollständige setup () -Funktion im Mapper-Code

nicht gesehen %Vor%     
Somum 10.08.2014 00:12
quelle

Tags und Links