Hadoop предложит намного больше, чем просто распараллеливание. Он предлагает платформу для распределения работы, планировщик для обработки одновременных заданий, распределенную файловую систему, возможность выполнения распределенного сокращения и отказоустойчивость. Тем не менее, это сложная система и иногда может быть трудно работать.
Если вы планируете, чтобы несколько пользователей отправляли много разных заданий, Hadoop является подходящим вариантом (из двух вариантов). Однако, если вы выделяете кластер для постоянной обработки документов с помощью одной и той же функции, вы можете без особых проблем разработать систему с параллельными коллекциями Scala и участниками для взаимодействия между машинами. Решение Scala даст вам больше контроля, система сможет реагировать в режиме реального времени, и вам не придется иметь дело с большим количеством настроек Hadoop, которые не относятся к вашей задаче.
Если вам нужно запускать различные задания на больших объемах данных (больше, чем умещается на одном узле), используйте Hadoop. Я могу дать вам больше информации, если вы опишите ваши требования более подробно.
Обновление: миллион - это довольно небольшое число. Возможно, вы захотите сделать некоторые вычисления и посмотреть, сколько времени это займет на одной машине с параллельными коллекциями. Преимущество здесь в том, что время разработки минимально!