私はHadoopの中に分散キャッシュにローカルファイルを追加しようとした場合、私はファイルを分散キャッシュで使用するにはHDFSに入れる必要がありますか?
Exception in thread "main" java.lang.IllegalArgumentException: Wrong FS: file:/path/to/my.jar, expected: hdfs://ec2-xx-xx-xx-xxx.compute-1.amazonaws.com
を取得します。ファイルがHDFS上にあるとき、私はこのエラーを表示しません(明らかに、期待されるFSを使用しているので)。最初にhdfsにコピーすることなく、分散キャッシュ内のローカルファイルを使用する方法はありますか?ここでは、コードスニペットは次のとおりです。
Configuration conf = job.getConfiguration();
FileSystem fs = FileSystem.getLocal(conf);
Path dependency = fs.makeQualified(new Path("/local/path/to/my.jar");
DistributedCache.addArchiveToClassPath(path, conf);
おかげ