Сводка
- MapReduce плохо подходит для определенного типа итеративных приложений. Это связано с высокой стоимостью операций ввода-вывода, необходимых для чтения данных из DFS и их перезаписи в DFS при каждой итерации.
- Spark — это оптимизированная резидентная платформа, предназначенная для итеративных, интерактивных и потоковых приложений.
- Spark использует отказоустойчивые распределенные наборы данных (RDD) и абстракцию распределенной памяти для поддержки отказоустойчивых вычислений в памяти в крупных кластерах.
- Spark может работать в автономном режиме или в кластере с использованием диспетчера ресурсов Mesos или YARN.
- RDD — это объекты, доступные только для чтения (неизменяемые), которые находятся в памяти и секционируются по всему кластеру.
- RDD отказоустойчивы — это достигается за счет функции журнала преобразований, которая ведет учет операций последовательности, выполняемых для преобразования данных на диске в их текущую форму в памяти.
- Зависимости между RDD делятся на узкие и широкие.
- Экосистема Spark включает Spark SQL, потоковую передачу Spark, MLlib и GraphX.