Користувач:Cthuj/MapReduce

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

MapReduce - модель розподілених обчислень, представлена компанією Google, яка використовується для паралельних обчислень над дуже великими (кілька петабайт) наборами даних в комп'ютерних кластерах.

Завдання програми складається з карти() процедура (спосіб), який виконує функції фільтрації і сортування (наприклад, сортування студентів по імені в черзі, одна черга для кожного імені) і Reduce() (зменшення) метод, який виконує операцію додавання (наприклад, підрахунок кількості студентів в кожній черзі, поступаючись назва частотах). У "mapreduce система" (також званої "інфраструктури" або "рамки") організує обробку на сортувальних розподіленого сервера, виконавши різні завдання паралельно, управління зв'язку і передачі даних між різними частинами системи, і забезпечення надмірності і відмовостійкості.

Огляд

[ред. | ред. код]

MapReduce - це фреймворк для обчислення деяких наборів розподілених завдань з використанням великої кількості комп'ютерів (званих «нодами»), що утворюють кластер. Оброблятися можуть дані, які зберігаються або в файловій системі (неструктуровано) або в базі даних (структуровано).

  • "Map" крок: кожен робочий вузол застосовує функцію "map()" для локальних даних, і записує вихідні дані на тимчасове зберігання. Майстер-вузол гарантує, що тільки одна копія надлишкових вхідних даних обробляється.
  • "Shuffle" крок: робочі вузли перерозподіляють дані, що засновані на вихідних ключах (виробляються функцією "map()"), таким чином, що всі дані, що належать до одного ключа знаходиться в тому ж робочому вузлі.
  • "Reduce" крок: робочі вузли тепер паралельно обробляють кожну групу вихідних даних за ключем.

Посилання

[ред. | ред. код]

[[Категорія:Паралельні обчислення]]