Різниця між MapReduce та Spark

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

Need for SPARK

  • Ітеративна аналітика: Зниження карт не настільки ефективно, як СПАРК для вирішення проблем, які потребують ітеративної аналітики, оскільки вона має перейти на диск для кожної ітерації.
  • Інтерактивна аналітика: зменшення карт часто використовується для запуску спеціальних запитів, для яких потрібно потрапити на дискову пам’ять, яка знову ж таки не є такою ефективною, як SPARK, тому що останній посилається на швидку пам'ять.
  • Не підходить для OLTP: Оскільки він працює на пакетно-орієнтованій основі, він не підходить для великої кількості коротких транзакцій.
  • Не підходить для графіка: бібліотека Apache Graph обробляє графік, що додає більшої складності зменшенню карти.
  • Не підходить для тривіальних операцій. Для таких операцій, як фільтр та з'єднання, нам може знадобитися перезаписати завдання, що стає складнішим з-за шаблону ключа-значення.

Порівняння «голова до голови» між MapReduce і Spark (Інфографіка)

Нижче наведено топ-15 Різниця між MapReduce та Spark

Основні відмінності між MapReduce і Spark

Нижче наведено списки пунктів, опишіть ключові відмінності між MapReduce та Spark:

  • Іскра підходить у режимі реального часу, оскільки вона обробляє за допомогою пам'яті, тоді як MapReduce обмежений пакетною обробкою.
  • Spark має RDD (Resilient Distributed Dataset), що дає нам операторів високого рівня, але у зменшенні Map нам потрібно кодувати кожну операцію, що робить її порівняно важкою.
  • Іскра може обробляти графіки та підтримує інструмент машинного навчання.
  • Нижче наведена різниця між екосистемою MapReduce проти Spark.

Приклад, де MapReduce проти Spark підходить, є наступним

Іскра: виявлення шахрайства на кредитній картці

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

Таблиця порівняння MapReduce vs Spark

Основи порівнянняMapReduceІскра
РамкаРамка з відкритим кодом для запису даних у HDFS та обробки структурованих та неструктурованих даних, присутніх у HDFS.Рамка з відкритим кодом для швидшої та загальної цільової обробки даних
ШвидкістьЗменшити на карті обробляти дані (читання та записування) з диска, щоб просочення було повільним порівняно з Spark.

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

Висновок - MapReduce проти Spark

Згідно з наведеною вище різницею між MapReduce та Spark, цілком очевидно, що SPARK є набагато більш просунутим обчислювальним двигуном порівняно із зменшенням карт. Іскра сумісна з будь-яким типом формату файлів, а також досить швидше, ніж зменшення карти. Крім того, іскра має також можливості обробки графіків та можливостей машинного навчання.

З одного боку, зменшення карт обмежується пакетною обробкою, а з іншого Spark може виконувати будь-який тип обробки (пакетна, інтерактивна, ітеративна, потокова, графічна). Завдяки великій сумісності Spark є улюбленцем Data Scientist, а отже, його заміна Map зменшується та швидко зростає. Але все ж нам потрібно зберігати дані в HDFS, і нам також десь може знадобитися HBase. Тому нам потрібно запустити і Спарк, і Hadoop, щоб отримати найкраще.

Рекомендовані статті:

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

  1. 7 важливих речей про Apache Spark (Керівництво)
  2. Hadoop vs Apache Spark - цікаві речі, які потрібно знати
  3. Apache Hadoop vs Apache Spark | Топ-10 порівнянь, які ти повинен знати!
  4. Як працює MapReduce?
  5. Злиття технології та бізнес-аналітики

Категорія: