Этот вопрос кажется легким, но я не могу понять реальную работу за ним.Я знаю, что люди скажут, разбить на 512 Мегабайты и отсортировать их, как с помощью Merge Sort, используя Map Reduce.
Итак, вот актуальный вопрос, который у меня есть:
Предположим, я разбил файл на512 мегабайт чанка, а затем отправить на разные хост-машины для их сортировки.предположим, что эти машины использовали сортировку слиянием.Теперь скажите, у меня было 2000 машин, каждая сортировала 2000, 512 мегабайт.Теперь, когда я сливаю их обратно, как это работает?Не будет ли размер снова увеличиваться?Например, при объединении двух 512 мегабайт получится 1024 мегабайт, что соответствует размеру моей оперативной памяти, так как бы это работало?Ни одна машина не может объединить блок размером более 512 мегабайт с другим блоком, потому что тогда размер> 1 ГБ.
Как в конце объединения я смогу когда-либо объединить два блока по 0,5 ТБ с другим 0,5Кусочек туберкулеза. Приходит ли сюда понятие виртуальной памяти?
Я здесь, чтобы уточнить свои основы и надеюсь, что правильно задаю этот очень важный вопрос (правильно).Кроме того, кто должен сделать это слияние (после сортировки)?Моя машина или несколько из тех 2000 машин?