Jednym z głównych przykładów wykorzystywanych do zademonstrowania możliwości MapReduce jest test porównawczy Terasort . Mam problem ze zrozumieniem podstaw algorytmu sortowania używanego w środowisku MapReduce.
Dla mnie sortowanie polega po prostu na określeniu względnego położenia elementu w stosunku do wszystkich innych elementów. Tak więc sortowanie polega na porównywaniu „wszystkiego” ze „wszystkim”. Twój przeciętny algorytm sortowania (szybki, bąbelkowy, ...) robi to po prostu w inteligentny sposób.
Moim zdaniem podzielenie zbioru danych na wiele części oznacza, że możesz posortować pojedynczy element, a następnie nadal musisz zintegrować te elementy w „kompletnym”, w pełni posortowanym zbiorze danych. Biorąc pod uwagę zestaw danych terabajtów rozproszonych w tysiącach systemów, spodziewam się, że będzie to ogromne zadanie.
Więc jak to się naprawdę robi? Jak działa ten algorytm sortowania MapReduce?
Dzięki za pomoc w zrozumieniu.