Spark vs MapReduce

Об Apache Spark говорят и пишут. К нему приглядываются. Профессионалы используют его все чаще и чаще. Аналитики называют его the next big thing (то есть, потенциальным «хитом» ближайшего будущего) в области больших данных.

А сами творцы Spark Apache называют свое детище «высокопроизводительной системой для параллельной обработки крупномасштабных данных». Работает она на кластерах среды Hadoop, использование которой позволило существенно минимизировать средства на хранение и обработку данных.

Экономия достигается за счет того, что фреймворк обеспечивает хорошую горизонтальную масштабируемость: вычислительные мощности можно наращивать, добавляя недорогие узлы массового уровня вместо того, чтобы тратить невообразимые средства на покупку и поддержку мощных высокопроизводительных серверов и систем хранения данных.

Ранее основной технологией распараллеливания запущенных на Hadoop задач была MapReduce, разработанная Google. Однако не так давно она утратила монополию, а среди ее главных конкурентов начал фигурировать именно Spark. Специалисты утверждают, что последний превосходит успевшую стать классической технологию. Особенно в скорости работы. Кроме того, Spark умеет обрабатывать потоковые данные в режиме реального времени. А еще — им гораздо легче управлять.

Скорость работы

По сути работа MapReduce соответствует названию. Есть некий кластер, состоящий из определенного количества узлов («нодов»), на котором выполняются процедуры. Первая процедура — Map, предварительная обработка входных данных. На главный узел подаются данные, которые распределяются по другим узлам для предварительной обработки. Во время второй процедуры (Reduce) происходит свертка полученных данных, после чего результат передается на главный узел, который и формирует окончательное решение задачи.

MapReduce оказалась очень эффективной для реализации сложных пакетных задач. Однако для обеспечения отказоустойчивостиMapReduceв основном обрабатывает информацию, хранящуюся на жестких дисках. Кроме того, она использует однопроходную (one-pass) модель вычислений. Все это делает платформу не слишком приспособленной для низколатентных приложений и итерационных вычислений, например, реализации алгоритмов на графах или машинного обучения, — считает Джастин Кестлин (Justin Kestelyn), специалист компании Cloudera. Он также утверждает, что фреймворк Apache Spark уходит от этих ограничений путем обобщения вычислительной модели MapReduce.

Spark способен выполнять пакетную обработку заданий в разы быстрее за счет уменьшения количества операций чтения/записи на жесткий диск.

Фреймворк умеет отслеживать данные каждого из операторов в отдельности, обрабатывает и надежно хранит их в оперативной памяти. Разработчики утверждают, что такой подход в разы увеличивает скорость решения итерационных задач по сравнению с MapReduce.

Обработка потоковых данных

В отличие от MapReduce, Spark умеет обрабатывать не только пакеты уже сохраненных данных, но также потоки в режиме реального времени.

Причем обработка пакетов и потоков данных, а также машинное обучение может проходить на одном и том же кластере данных. Эта особенность позволяет значительно упростить процессы развертывания, обслуживания и разработки приложений.

Что дальше?

Все эти особенности Spark выглядят многообещающе и, учитывая поддержку и внимание, которое получает данный проект, будущее его видится светлым.

Уже на сегодняшний день Apache Spark используют многие крупные компании, например, Yahoo!, IBM, Intel, Conviva и Cloudera. А некоторое время назад некоммерческая организация Apache Software Foundation (ASF), поддерживающая различные opensource-проекты, заявила о переходе Apache Spark в разряд Top-Level Project (TLP, ведущие проекты).

Поэтому специалисты уверены: Spark получит развитие и станет сильным игроком в области больших данных. Хотя из-за неизменной природы базовой абстракции Spark (RDD, Resilient Distributed Datasets), его нельзя назвать универсальным решением. Даже сами авторы признают, что Spark не лучшим образом подходит для тех операций, когда требуется изменить небольшое количество записей данных в один и тот же момент времени.

Автор: Мария Чип

Добавить комментарий

Ваш e-mail не будет опубликован.

закрыть

Поделиться

Отправить на почту
закрыть

Вход

закрыть

Регистрация

+ =