Я использую MapReduce для обработки моих данных.Мне нужно, чтобы вывод был сохранен под разделами даты.Мой ключ сортировки - строка даты.Теперь, если я переопределю getPartition в своем пользовательском классе разделителя, чтобы вернуть следующее:
return (formattedDate.hashCode() & Integer.MAX_VALUE) % numReduceTasks;
Поскольку, поскольку мы используем хэш и Mod, в некоторых случаях мы возвращаем одно и то же целочисленное значение, например: Допустим, numReduceTasks=100
Now the date 2018-01-20 might have hash value as 101. so 101%100 = 1
Now take other date as 2018-02-20 and might have hash value as 201. so 201%100 = 1
и из-за этого мы заканчиваем тем, что файлы с несколькими датами попадают в раздел с одной датой.что не желательно.Любые указатели о том, как справиться с этим?