2016-03-27 7 views

答えて

2

分散キャッシュをご覧ください。小さなファイルをマッパーやレデューサーに送ることができます。

仕事のためにあなたのメイン/ドライバ、設定ファイルで

を(あなたは、Javaを使用している場合):

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

注:VARはマッパーでファイルにアクセスするために使用する変数の名前です。/reducerすなわちfn [1]を以下のコードで使用します。マッパーまたは減速で

、文脈からファイルを取得:

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 
} 

注:cacheFiles [0]はあなたのメイン/ドライバから送信されたファイルを参照する

More information

関連する問題