Карта Уменьшить
Источник: https://www.guru99.com/introduction-to-mapreduce.html
Здесь вы видите, входной файл обрабатываетсякак показано нижеуменьшите парадигму, после каждого этапа промежуточный результат записывается на диск. Также Mapper и Reducer - это два разных процесса. То есть сначала выполняется задание сопоставления, выплевывает файлы сопоставления, затем запускается задание редуктора. На каждом этапе работа требует выделения ресурсов. Следовательно, для выполнения одной задачи по уменьшению карты требуется несколько итераций. Если у вас есть несколько этапов карты, после каждой карты данные должны выводиться на диск перед запуском другой задачи карты. Это многоступенчатый процесс.
Каждый шаг в рабочем процессе обработки данных имеет одну фазу Map и одну фазу Reduce, и вам нужно будет преобразовать любой сценарий использования в MapReduce. шаблон для использования этого решения.
Spark
С другой стороны, spark выполняет согласование ресурсов только один раз. Как только переговоры завершены, они порождают всех исполнителей, и это остается в течение всего срока работы. Во время выполнения spark не записывает промежуточный вывод фаз Map на диск, а сохраняет в памяти. Следовательно, все операции с картами могут происходить вплотную, без записи на диск или появления новых исполнителей. Это одношаговый процесс.
Spark позволяет программистам разрабатывать сложные многошаговые конвейеры данных с использованием шаблона направленного ациклического графа (DAG). Он также поддерживает обмен данными в памяти между группами обеспечения доступности баз данных, поэтому различные задания могут работать с одними и теми же данными.