2
EMRの分散キャッシュからファイルをシーケンシングしようとしていますが、EMRの分散キャッシュからファイルを読み込めません。私のコードはローカルでうまく動作しますが、emrに問題があります。ここでpath-EMRの分散キャッシュからシーケンスファイルを読み取ることができません
private void loadMap(String filePath,Configuration conf) throws IOException
{
try {
Path somePath=new Path(filePath);
reader=new Reader(somePath.getFileSystem(conf),somePath,conf);
// brReader = new BufferedReader(new FileReader(filePath));
Writable key= new Text();
Writable value=new Text();
// Read each line, split and load to HashMap
while (reader.next(key,value)) {
// String index[]=strLineRead.toString().split(Pattern.quote(" - "));
rMap.put(key.toString(),value.toString());
}
}
catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
finally {
if (reader != null) {
reader.close();
}
}
}
すべてのヘルプからファイルを読み込むpath-
for (Path eachPath : cacheFilesLocal) {
loadMap(eachPath.getName(),context.getConfiguration());
}
を読む分散cache-
job.addCacheFile(new URI(status.getPath().toString()));
に私のコードsnippet-
置くシーケンスファイルです感謝されます。引数で
私はカスタムJARにCACHEFILEへのアクセスに苦労しています...私のために働きました。 – chetan