2016-02-29 2 views
1

Я не уверен, что делает этот метод. Это часть класса DistributedCache.Что делает метод getLocalCacheArchives?

Я действительно использую его в коде для Hadoop Blast. У меня есть файл RunnerMap.java, который имеет установочный метод (контекст Context), который получает путь к LocalDB и localBlastProgram следующим образом:

Configuration conf = context.getConfiguration(); 
Path[] local = DistributedCache.getLocalCacheArchives(conf); 
localDB = local[0].toUri().getPath() + File.separator + conf.get(DataAnalysis.DB_ARCHIVE) + File.separator + conf.get(DataAnalysis.DB_NAME); 
localBlastProgram = local[0].toUri().getPath(); 

Я относительно новым для Java, так что я не могу сделать много смысла из эти четыре строки.

Я также не могу найти описание getLocalCacheArchives на документах MapReduce.

ответ

1

Используется DistributedCache, так что узлы кластера могут совместно использовать некоторые файлы/архивы. Архивы обычно представляют собой файлы zip, tar и tgz/tar.gz.

Итак, по основному методу вы должны установить те файлы или архивы, которые вы хотите, чтобы ваши узлы делились (доступ только для чтения), а затем по методу настройки вы можете получить эти файлы, как вы это делаете в размещенные строки, используя метод getLocalCacheArchives().

Возможно, вы найдете полезную информацию и примеры на this old documentation, так как DistributedCache теперь устарел.

Смежные вопросы