Що таке MapReduce? - Вивчіть приклад та переваги MapReduce

Зміст:

Anonim

Що таке MapReduce?

Рамка програмування MapReduce використовується для виконання розподіленої та паралельної обробки з великими наборами даних у розподіленому середовищі. Карта та зменшення - це дві чіткі завдання програми зменшення карт. Спочатку на фазі карти дані зчитуються, а з них формуються пари ключ-значення. Потім ці пари ключ-значення подаються в задачу скорочення, яка агрегує дані пари ключ-значення в менший набір значень, що дають кінцевий результат. Таким чином, завдання зменшення завжди виконується після завершення завдання з картою. Обробку даних дуже просто масштабувати через декілька обчислювальних вузлів.

У програмі є три етапи:

  1. Етап карти
  2. Етап переміщення
  3. Зменшити етап

Приклад :

Проблема з кількістю Word-

Припустимо, нижче наведені вхідні дані:

  • Майк Джон Джейк
  • Пол Пол Джейк
  • Майк Пол Джон

1. Вищезазначені дані поділено на три вхідні розбиття, як показано нижче:

  • Майк Джон Джейк
  • Пол Пол Джейк
  • Майк Пол Джон

2. Потім ці дані передаються в наступну фазу, яку називають фазою відображення.

Отже, для першого рядка (Майк Джон Джейк) ми маємо 3 пари ключових значень - Майк, 1; Йон, 1; Джейк, 1.

Нижче наведено результат у фазі відображення:

  • Майк, 1
    Іон, 1
    Джейк, 1
  • Павла, 1
    Павла, 1
    Джейк, 1
  • Майк, 1
    Павла, 1
    Іон, 1

3. Зазначені вище дані подаються в наступну фазу, яку називають фазою сортування та перемішування.

На цій фазі дані групуються в унікальні ключі і сортуються. Нижче наведено результат фази сортування та переміщення:

  • Джейк, (1, 1)
  • Джон, (1, 1)
  • Майк, (1, 1)
  • Павла, (1, 1, 1)

4. Зазначені вище дані подаються в наступну фазу, яку називають фазою зменшення.

Тут усі ключові значення агрегуються і підраховується кількість 1. Нижче наведено результат у фазі зменшення:

  • Джейк, 2
  • Йон, 2
  • Майк, 2
  • Павла, 3

Переваги MapReduce:

Тут ми дізнаємось про деякі важливі переваги програми програмування MapReduce,

1. Масштабованість

Hadoop - це платформа, яка є дуже масштабованою і багато в чому завдяки своїй здатності зберігати та розповсюджувати великі набори даних на багатьох серверах. Сервери, які тут використовуються, коштують досить недорого і можуть працювати паралельно. Потужність обробки системи може бути покращена за рахунок додавання більшої кількості серверів. Традиційні системи управління реляційними базами даних або RDBMS не змогли масштабувати обробку величезних наборів даних.

2. Гнучкість

Модель програмування Hadoop MapReduce пропонує гнучкість для обробки структури або неструктурованих даних різними бізнес-організаціями, які можуть використовувати ці дані та оперувати різними типами даних. Таким чином, вони можуть генерувати ділову цінність із тих даних, які є значимими та корисними для бізнес-організацій для аналізу. Незалежно від джерела даних, будь то соціальна мережа, потік кліків, електронна пошта тощо. Hadoop пропонує підтримку багатьох мов, які використовуються для обробки даних. Поряд із усім цим, програмування Hadoop MapReduce дозволяє багато застосувань, таких як маркетинговий аналіз, система рекомендацій, сховище даних та виявлення шахрайства.

3. Безпека та автентифікація

Якщо будь-яка стороння особа отримує доступ до всіх даних організації і може маніпулювати декількома петабайтами даних, вона може завдати великої шкоди з точки зору ведення бізнесу, який працює в операційній діяльності з бізнес-організацією. Цей ризик вирішується моделлю програмування MapReduce, працюючи з hdfs та HBase, що дозволяє забезпечити високу безпеку, дозволяючи лише затвердженому користувачеві працювати над збереженими даними в системі.

4. Вигідне рішення

Така система є масштабованою і є дуже економічним рішенням для бізнес-моделі, для якої потрібно зберігати дані, які зростають в експоненціальному масштабі, що відповідає вимогам поточного дня. У випадку старих традиційних систем управління реляційними базами даних обробляти дані було не так просто, як із системою Hadoop з точки зору масштабованості. У таких випадках бізнес змушений був зменшити розмір даних та подальше впровадження класифікації, грунтуючись на припущеннях про те, як певні дані можуть бути цінними для організації, а отже, видалити необроблені дані. Тут на допомогу приходить архітектура масштабування Hadoop з програмуванням MapReduce.

5. Швидкий

Розподілена файлова система Hadoop HDFS є ключовою особливістю, що використовується в Hadoop, яка в основному реалізує систему картографування для пошуку даних у кластері. Програмування MapReduce - це інструмент, що використовується для обробки даних, і він розташований також на тому ж сервері, що дозволяє швидше обробляти дані. Hadoop MapReduce обробляє великі обсяги даних, які неструктуровані або напівструктуровані за менший час.

6. Проста модель програмування

Програмування MapReduce засноване на дуже простій моделі програмування, яка в основному дозволяє програмістам розробити програму MapReduce, яка може більш легко та ефективно працювати з багатьма іншими завданнями. Модель програмування MapReduce написана на мові Java, є дуже популярною і дуже простою для вивчення. Люди легко дізнаються програмування Java та модель обробки даних, що відповідає їх потребам у бізнесі.

7. Паралельна обробка

Модель програмування розподіляє завдання таким чином, що дозволяє виконувати самостійне завдання паралельно. Отже, ця паралельна обробка полегшує процесам виконання кожного з завдань, що допомагає запускати програму в набагато менший час.

8. Доступність та пружність

Модель програмування Hadoop MapReduce обробляє дані, надсилаючи дані на окремий вузол, а також пересилаючи той самий набір даних на інші вузли, що проживають у мережі. Як результат, у разі виходу з ладу в конкретному вузлі однакова копія даних все ще доступна на інших вузлах, які можна використовувати, коли це потрібно, забезпечуючи доступність даних.
Таким чином, Hadoop відрізняється відмовою. Це унікальна функціональність, запропонована в Hadoop MapReduce, що вона здатна швидко визнати несправність і застосувати швидке виправлення автоматичного рішення для відновлення.

Є багато компаній по всьому світу, які використовують зменшення карт, як Facebook, Yahoo тощо.

Висновок - що таке MapReduce

Зниження карт має великі можливості, коли мова йде про велику обробку даних порівняно з традиційними системами RDBMS. Багато організацій вже реалізували його потенціал і переходять до цієї нової технології. Зрозуміло, що на зменшенні карт потрібно дуже довго працювати на великій платформі обробки даних.

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

Це було керівництвом щодо Що таке MapReduce. Тут ми обговорили Основну концепцію, приклади та переваги MapReduce. Ви також можете ознайомитися з іншими запропонованими нами статтями, щоб дізнатися більше -

  1. Що таке JavaScript?
  2. Питання для інтерв'ю MapReduce
  3. Що таке Python
  4. Як працює MapReduce
  5. Що таке великі дані та Hadoop