Spark используется для решения задач, связанных с огромными наборами данных, для которых требуется преобразование данных. Spark построен с использованием функционального языка программирования (Scala) вместо императивного языка (C или C ++), поскольку функциональное программирование позволяет лениво разделять задачи между несколько узлов в кластере, которые не могут сделать обязательные парадигмы программирования и зависят от внешнего хранилища данных для работы распределенных алгоритмов. В Spark есть много библиотек, которые выполняют алгоритмы распределенного машинного обучения, что невозможно при использовании стандартных сценариев R или Python