Описание тега distributed-cache
DistributedCache - это средство, предоставляемое платформой Map-Reduce для кэширования файлов (текста, архивов, jar-файлов и т. Д.), Необходимых приложениям.
Приложения указывают файлы через URL-адреса (hdfs:// или http://), которые должны быть кэшированы через JobConf. DistributedCache предполагает, что файлы, указанные с помощью URL-адресов, уже присутствуют в файловой системе по пути, указанному в URL-адресе, и доступны на каждой машине в кластере.
Платформа скопирует необходимые файлы на подчиненный узел до того, как на этом узле будут выполнены какие-либо задачи для задания. Его эффективность проистекает из того факта, что файлы копируются только один раз за задание, и способности кэшировать архивы, которые не архивируются на ведомых устройствах.
DistributedCache может использоваться для распространения простых файлов данных / текстовых файлов только для чтения и / или более сложных типов, таких как архивы, jar-файлы и т. Д. Архивы (файлы zip, tar и tgz / tar.gz) не архивируются на подчиненных узлах. Jar-файлы могут быть необязательно добавлены в путь к классам задач, элементарный механизм распространения программного обеспечения. Файлы имеют разрешения на выполнение. В более старой версии Hadoop Map/Reduce пользователи могли дополнительно запросить создание символических ссылок в рабочем каталоге дочерней задачи. В текущей версии всегда создаются символические ссылки. Если URL-адрес не имеет фрагмента, будет использовано имя файла или каталога. Если несколько файлов или каталогов соответствуют одному и тому же имени ссылки, будет использоваться последний добавленный. Все остальные даже не скачиваются.
DistributedCache отслеживает отметки времени модификации файлов кэша. Очевидно, что файлы кеша не должны изменяться приложением или