У меня есть объект:Использование DistributedCached в режиме кластера
class Cache {
Map<K,V> map;
}
Я использовал DistributedCache, чтобы указать URI содержит этот объект, а затем в функции настройки() в каждой задаче карты, я загрузил этот объект кэша для обработки В частности, используется объект Cache для хранения некоторого значения в каждой задаче карты.
Вопрос в том, что содержимое карты в каждом datanode будет отличаться друг от друга при запуске hadoop в режиме кластера. Это правильно? Потому что, когда я развивался в локальном режиме, содержимое карты содержит результат для всего набора данных.
Спасибо за ваш ответ, но я имею в виду, что контент map'p будет другим или нет? Пример: узел 1 содержит A, B, C, узел 2 содержит D, E, F ... тогда файл кэша в узле 1 содержит (A, B, C) и файл кеша в узле 2 (D, E, F) ? – nd07
Если вы пишете приложения «Уменьшить количество страниц», где вы хотите, чтобы некоторые файлы были доступны для всех узлов в Hadoop Cluster. Это может быть простой файл свойств или может быть исполняемым файлом jar. Проект Hadoop Map Reduce Project предоставляет нам этот объект с помощью так называемого DistributedCache. Этот распределенный кэш настроен с конфигурацией заданий, что он делает, он предоставляет данные только для чтения для всей машины в кластере. –