2016-03-27 17 views

cevap

2

Dağıtılmış Önbelleğe bir göz atın. Mapper veya redüktöre küçük bir dosya gönderebilirsiniz.

iş için ana/sürücü, set dosyasında

(Java kullanıyorsanız):

job.addCacheFile(new URI("path/to/file/inHadoop/file.txt#var")); 

Not: var eşleştiricisindeki dosyanıza erişim için kullanılan bir değişken adıdır/redüktör, yani aşağıdaki kodda fn [1]. eşleyicisinde veya redüktör olarak

, bağlamdan dosyayı almak:

public void setup(Context context) throws IOException{ 
    Configuration conf = context.getConfiguration(); 
    URI[] cacheFiles = context.getCacheFiles(); 
    String[] fn = cacheFiles[0].toString().split("#"); 
    BufferedReader br = new BufferedReader(new FileReader(fn[1])); 
    String line = br.readLine(); 
    //do something with line 
} 

Not: cacheFiles [0] Eğer ana/sürücüsünden gönderilen dosyayı ifade eder

More information

İlgili konular