Разница между MapReduce и Spark

Map Reduce - это платформа с открытым исходным кодом для записи данных в HDFS и обработки структурированных и неструктурированных данных, представленных в HDFS. Map Reduce ограничивается пакетной обработкой, а на других Spark может выполнять любой тип обработки. SPARK - это независимый обработчик для обработки в реальном времени, который можно установить в любой распределенной файловой системе, такой как Hadoop. SPARK обеспечивает производительность, которая в 10 раз быстрее, чем Map Reduce на диске, и в 100 раз быстрее, чем Map Reduce в сети в памяти.

Нужно для искры

  • Итеративная аналитика: Map-Reduction не так эффективен, как SPARK, для решения задач, требующих итеративной аналитики, поскольку он должен выходить на диск для каждой итерации.
  • Интерактивная аналитика: Map-Reduce часто используется для выполнения специальных запросов, для которых требуется получить доступ к дисковой памяти, что опять-таки не так эффективно, как SPARK, поскольку последняя ссылается на оперативную память, которая работает быстрее.
  • Не подходит для OLTP: поскольку он работает на пакетно-ориентированной среде, он не подходит для большого количества коротких транзакций.
  • Не подходит для графика: библиотека Apache Graph обрабатывает график, что добавляет усложнение Map Reduce.
  • Не подходит для тривиальных операций. Для таких операций, как фильтр и объединения, может потребоваться переписать задания, что усложняется из-за шаблона ключ-значение.

Сравнение лицом к лицу между MapReduce и Spark (Инфографика)

Ниже приведено 15 лучших отличий между MapReduce и Spark.

Ключевые различия между MapReduce и Spark

Ниже приведены списки точек, описывающие ключевые различия между MapReduce и Spark:

  • Spark подходит для работы в режиме реального времени, поскольку он обрабатывает с использованием оперативной памяти, тогда как MapReduce ограничен пакетной обработкой.
  • У Spark есть RDD (Resilient Distributed Dataset), который дает нам высокоуровневых операторов, но в Map Reduce нам необходимо кодировать каждую операцию, что делает ее сравнительно сложной.
  • Spark может обрабатывать графики и поддерживает инструмент машинного обучения.
  • Ниже представлена ​​разница между экосистемой MapReduce и Spark.

Пример использования MapReduce и Spark:

Spark: обнаружение мошенничества с кредитными картами

MapReduce: Создание регулярных отчетов, которые требуют принятия решений.

MapReduce и Spark Сравнительная таблица

Основа сравненияУменьшение картыискра
ФреймворкПлатформа с открытым исходным кодом для записи данных в HDFS и обработки структурированных и неструктурированных данных, представленных в HDFS.Среда с открытым исходным кодом для быстрой и универсальной обработки данных
скоростьMap-Reduce обрабатывает данные (чтение и запись) с диска, поэтому просачивание происходит медленнее, чем у Spark.

Spark по крайней мере в 10 раз быстрее на диске и в 100 раз быстрее в памяти, чем у Map Reduce.
трудностьНам нужно кодировать / обрабатывать каждый процесс.Благодаря наличию RDD (Resilient Distributed Dataset) его легко программировать.
Реальное времяНе подходит для транзакции OLTP только для пакетного режимаОн может обрабатывать обработку в реальном времени. Использование SPARK Streaming.
ЗадержкаПлатформа высокоуровневых вычисленийНизкоуровневая вычислительная среда с задержкой.
ОтказоустойчивостьГлавные демоны проверяют сердцебиение подчиненных демонов, и в случае отказа подчиненных демонов главные демоны перепланируют все ожидающие и выполняемые операции другому подчиненному.СДР обеспечивают отказоустойчивость к ИСКРЕ. Они ссылаются на набор данных, присутствующий во внешнем хранилище, например (HDFS, HBase), и работают параллельно.
планировщикВ Map Reduce мы используем внешний планировщик, такой как Oozie.Поскольку SPARK работает с вычислениями в памяти, он действует как собственный планировщик.
СтоимостьКарта Reduce сравнительно дешевле по сравнению с SPARK.Поскольку он работает в памяти, он требует много оперативной памяти, что делает его сравнительно более дорогим.
Платформа Разработана наMap Reduce была разработана с использованием Java.SPARK был разработан с использованием Scala.
Язык поддерживаетсяMap Reduce в основном поддерживает C, C ++, Ruby, Groovy, Perl, Python.Spark поддерживает Scala, Java, Python, R, SQL.
Поддержка SQLMap Reduce выполняет запросы с использованием языка запросов Hive.Spark имеет свой собственный язык запросов, известный как Spark SQL.
МасштабируемостьВ Map Reduce мы можем добавить до n узлов. Самый большой кластер Hadoop имеет 14000 узлов.В Spark также мы можем добавить n узлов. Самый большой кластер Spark имеет 8000 узлов.
Машинное обучениеMap Reduce поддерживает инструмент Apache Mahout для машинного обучения.Spark поддерживает инструмент MLlib для машинного обучения.
КэшированиеСокращение карт не может кешировать данные в памяти, поэтому оно не такое быстрое по сравнению со Spark.Spark кэширует данные в памяти для дальнейших итераций, поэтому он очень быстрый по сравнению с Map Reduce.
БезопасностьMap Reduce поддерживает больше проектов и функций безопасности по сравнению со SparkБезопасность Spark еще не созрела, как в Map Reduce

Вывод - MapReduce vs Spark

В соответствии с вышеупомянутой разницей между MapReduce и Spark, совершенно очевидно, что SPARK является гораздо более продвинутым вычислительным механизмом по сравнению с Map Reduce. Spark совместим с любым типом файлов, а также работает намного быстрее, чем Map Reduce. Кроме того, искра также имеет возможности обработки графиков и машинного обучения.

С одной стороны, Map Reduce ограничивается пакетной обработкой, а с другой стороны, Spark может выполнять любой тип обработки (пакетная, интерактивная, итеративная, потоковая, графическая). Из-за большой совместимости Spark является фаворитом Data Scientist и, следовательно, заменяет Map Reduce и быстро растет. Но все же нам нужно хранить данные в HDFS, а иногда нам может понадобиться HBase. Поэтому нам нужно запустить Spark и Hadoop, чтобы получить лучшее.

Рекомендуемые статьи:

Это было руководство по MapReduce vs Spark, их значению, сравнению «голова к голове», ключевым различиям, сравнительной таблице и выводам. Вы также можете посмотреть следующие статьи, чтобы узнать больше -

  1. 7 важных вещей о Apache Spark (Руководство)
  2. Hadoop vs Apache Spark - Интересные вещи, которые нужно знать
  3. Apache Hadoop против Apache Spark | 10 лучших сравнений, которые вы должны знать!
  4. Как работает MapReduce?
  5. Слияние технологий и бизнес-аналитики