Зміст:
Визначення - Що означає MapReduce?
MapReduce - модель програмування, представлена Google для обробки та генерації великих наборів даних на кластерах комп'ютерів.
Google вперше сформулював основу з метою обслуговування індексації веб-сторінок Google, а новий фреймворк замінив попередні алгоритми індексації. Початківці розробники вважають карту MapReduce вигідною, оскільки підпрограми бібліотеки можуть використовуватися для створення паралельних програм без будь-яких турбот щодо інфраструктурного зв’язку, моніторингу завдань чи процесів обробки несправностей.
MapReduce працює на великій групі товарних машин і є високомасштабним. Він має кілька форм реалізації, що надаються різними мовами програмування, такими як Java, C # і C ++.
Техопедія пояснює MapReduce
Рамка MapReduce складається з двох частин:
- Функція під назвою "Карта", яка дозволяє різним точкам розподіленого кластеру розподіляти свою роботу
- Функція під назвою "Зменшити", яка призначена для зменшення кінцевої форми результатів кластерів на один вихід
Головною перевагою фреймворку MapReduce є його відхилення, коли періодичні звіти від кожного вузла кластера очікуються після завершення роботи.
Завдання передається від одного вузла до іншого. Якщо головний вузол помічає, що вузол мовчить довший інтервал, ніж очікувалося, головний вузол виконує процес перепризначення замороженому / затримковому завданню.
Рамка MapReduce натхненна функціями «Map» та «Reduce», які використовуються у функціональному програмуванні. Обчислювальна обробка відбувається на даних, що зберігаються у файловій системі або всередині бази даних, яка приймає набір вхідних ключових значень і виробляє набір значень ключових значень виводу.
Щодня на кластерах Google виконуються численні програми MapReduce та завдання MapReduce. Програми автоматично паралелізуються та виконуються на великій групі товарних машин. Система виконання займається розділенням вхідних даних, плануванням виконання програми на наборі машин, обробкою несправностей на машині та керуванням необхідним міжвідомчим зв’язком. Програмісти без досвіду роботи з паралельними і розподіленими системами можуть легко використовувати ресурси великої розподіленої системи.
MapReduce використовується в розподіленому grep, розподіленому сортуванні, оберненні графіків веб-посилань, статистиці журналу доступу до Інтернету, кластеризації документів, машинному навчанні та статистичному машинному перекладі.
