Добавление каталога файлов в Hadoop с использованием распределенного кэша? - PullRequest
1 голос
/ 15 марта 2012

Я пытаюсь добавить кучу зависимостей, хранящихся в hdfs, в распределенный кеш.Я следовал совету из этой статьи: http://www.datasalt.com/2011/05/handling-dependencies-and-configuration-in-java-hadoop-projects-efficiently/. Мой вопрос: возможно ли добавить папку, содержащую зависимости, в путь к классам?

DistributedCache.addFileToClassPath(new Path("/tmp/lib/"), job.getConfiguration());

Или мне нужно было бы добавлять каждую зависимость по отдельности?

for (Path dependency : dependencies) {
   DistributedCache.addFileToClassPath(dependency, job.getConfiguration());
}

И как мне проверить, что зависимости действительно были добавлены в путь к классам на всех подчиненных узлах?

Спасибо.

1 Ответ

0 голосов
/ 17 мая 2012

Вам нужно будет перебирать банки и добавлять их по одному, как вы предлагали. Или вы можете связать банки в один zip-файл и затем использовать метод DistributedCache.addArchiveToClassPath(Path, Configuration).

Чтобы проверить, что они были добавлены в путь к классам, попробуйте проверить свойство System java.class.path в методе настройки маппера / редуктора.

...