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