Обе системы должны неявно выполнять операцию, поскольку процессы Java получают только фиксированный объем основной памяти. Обратите внимание, что когда данные для сортировки становятся намного больше, данные должны быть размещены на диске. В случае сортировки и в зависимости от вашего запроса это может означать, что полный набор данных должен быть материализован в основной памяти и на диске.
Если вы спрашиваете, можете ли вы ограничить потребление памяти указанным c оператор, тогда все выглядит намного сложнее. Вы можете ограничить свое приложение одной указанной c операцией и использовать глобальную настройку памяти для ограничения потребления, но это может привести к сложной настройке.
Имеется ли у вас конкретный c вариант использования, где Вам нужно было бы ограничить память определенной операции c?
Кстати, вы можете рассмотреть Spark и Flink, чтобы заменить Had oop MapReduce. Есть только пара крайних случаев, когда MapReduce может превзойти системы следующего поколения.