Одним из основных примеров, который используется для демонстрации возможностей MapReduce, является тест Terasort . Мне сложно понять основы алгоритма сортировки, используемого в среде MapReduce.
Для меня сортировка просто включает определение относительного положения элемента по отношению ко всем другим элементам. Таким образом, сортировка предполагает сравнение «всего» со «всем». Ваш средний алгоритм сортировки (быстрый, пузырьковый, ...) просто делает это разумно.
На мой взгляд, разделение набора данных на множество частей означает, что вы можете отсортировать один фрагмент, а затем вам все равно придется интегрировать эти части в «полный» полностью отсортированный набор данных. Учитывая терабайтный набор данных, распределенный по тысячам систем, я ожидаю, что это будет огромной задачей.
Так как же это сделать на самом деле? Как работает этот алгоритм сортировки MapReduce?
Спасибо, что помогли мне понять.