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