Метод программирования для анализа наборов данных, которые не умещаются в памяти
применяет функцию карты outds
= mapreduce(ds
,mapfun
,reducefun
)mapfun
вводить datastore ds
, и затем передает значения, сопоставленные с каждым уникальным ключом, чтобы уменьшать функциональный reducefun
. Выходным datastore является KeyValueDatastore
возразите что точки против .mat
файлы в текущей папке.
опционально задает параметры конфигурации во время выполнения для outds
= mapreduce(ds
,mapfun
,reducefun
,mr
)mapreduce
. mr
вход является результатом вызова mapreducer
функция. Как правило, этот аргумент используется с Parallel Computing Toolbox™, MATLAB® Parallel Server™ или MATLAB Compiler™. Для получения дополнительной информации смотрите, Убыстряются и Развертывают MapReduce Используя Другие продукты.
задает дополнительные опции с одним или несколькими outds
= mapreduce(___,Name,Value
)Name,Value
парные аргументы с помощью любого из предыдущих синтаксисов. Например, можно задать 'OutputFolder'
сопровождаемый вектором символов, задающим путь к выходной папке.
Отладка вашего mapreduce
алгоритмы, чтобы исследовать, как пары "ключ-значение" перемещаются через различные фазы, всегда полезны. Чтобы исследовать перемещение данных, установите точки останова в своих map и reduce функциях. Точки останова останавливают выполнение mapreduce
, разрешение вам исследовать текущий статус следующих переменных, как KeyValueStore
или ValueIterator
. Для получения дополнительной информации см. Алгоритмы MapReduce Отладки.
Некоторые рекомендации оптимизировать mapreduce
производительность на любой платформе:
Минимизируйте количество вызовов функции карты. Самый легкий подход должен увеличить значение ReadSize
свойство входного datastore. Результатом является тот mapreduce
передает большие блоки данных функции карты, и datastore истощает с меньшим количеством чтений.
Уменьшите сумму промежуточных данных, отправленных между map и reduce функциями. Один подход должен использовать unique
в карте функционируют, чтобы объединить подобные ключи. Смотрите Вычисляют, Подразумевают под Группой Используя MapReduce для примера этого метода.