Прежде всего, причина, по которой распределенный кеш существует, заключается в том, что все картографы имеют (чтение) доступ к общему файлу, например. список стоп-слов. Если вам это не нужно, вам не нужен распределенный кэш. Кроме того, если два файла, которые вы описываете, имеют один формат, и вы обрабатываете их одинаково, просто передайте их корневой каталог (ы) в качестве ввода в свой картограф. Hadoop будет обрабатывать оба из них одинаково и разделить их обоих. Если это не так, продолжайте читать мой ответ.
Если вы хотите использовать вывод первого картографа в качестве (одного) входа второго устройства отображения, вы можете использовать ChainMapper.
Но я предполагаю, что вы также хотите использовать второй входной файл. Итак, вы можете split your job in a chain of two jobs. Тогда входное устройство второго задания может быть комбинацией обоих входных файлов: выход первого задания и файла, если они находятся в одном формате. По этой причине вы можете использовать метод addInputPath.
В противном случае вы можете получить файл непосредственно из файловой системы, как описано here.
Обратите внимание, что если ваш большой файл больше размера блока (по умолчанию 64 МБ), и он сплиттивен, hasoop разбивает его «автоматически», когда он задается в качестве ввода для картографа.
Я хочу использовать один полный файл в качестве ввода ко всем картографам. поэтому я использую распределенный кеш. В то же время моя проблема заключается в том, что файл слишком велик для ели в кеше сразу. Поэтому я хочу разделить файл и передать файл по блоку в виде распределенного кеша. – Pooja3101
Простым примером является программа проверки орфографии. У меня есть файл для проверки на ошибку заклинания. и у меня есть файл словаря, который будет использоваться в качестве кеша dist. Но файл словаря очень большой. Поэтому я хочу разделить файл словаря на 10 подфайлов. предположим, что у меня есть фаза отображения карты, в которой каждый из 4-х карточек работает с одним блоком файла проверки орфографии. я хочу отправить все словарные файлы-словаря каждому картографу один за другим. – Pooja3101
Затем используйте последний вариант из моих предложений и получите каждый блок непосредственно из файловой системы. Разделение файла на большее количество файлов не нужно делать в hadoop. – vefthym