«Из крошечной« Искры »может вспыхнуть могущественное пламя» ~ Данте Алигьери

Как, что и почему?

У меня и Спарк были отношения любви и ненависти последние два года или около того. Все началось после того, как я тяжело расстался с ульем, и я понял, что мне лучше без него. Я подумал, что должен высказать свое мнение и дать несколько советов по взаимоотношениям с людьми, которые проходят свой путь через этот трудный, но кое-что полезный этап жизни.

На более серьезном замечании, если вы тот, кто только начинает использовать Spark и имеет некоторое хорошее представление о hive и sql, я настоятельно рекомендую пройти онлайн-курс, который использует версию сообщества databricks. Некоторое время назад я сделал блестящую статью на edX, которая сейчас находится в архиве. Я не уверен, что он доступен, если вы не архивировали его раньше. Однако на udemy есть некоторые, которые выглядят многообещающими.

Версия сообщества databricks - отличное место, чтобы просто начать работать над чем-то маленьким, чтобы привыкнуть к искру, и они поддерживают записные книжки как scala, так и python.

Вы получаете небольшой кластер бесплатно, чтобы практиковать свои навыки scala / python Spark! Это потрясающе, и в целом более чем достаточно, чтобы почувствовать фреймворк. Общая установка кластера в блоках данных будет выглядеть, как на рисунке выше. Очевидно, что лучшее место для чтения об искре - это их действительно исчерпывающая документация, в которой есть примеры как на scala, так и на python.

Зачем нужна искра?

Правильный вопрос! Помимо очевидных вычислений в памяти, Spark с точки зрения инженера по машинному обучению предлагает огромный прогресс в способах разработки функций. С появлением Pipeline API стало очень просто создавать массивные параллелизуемые etls. В моем последнем проекте мне удалось создать etls для кодирования тысяч функций из разных источников данных, работающих параллельно, и собрать их в один большой вектор функций после необходимой предварительной обработки за считанные часы.

Прелесть в том, что все необходимые шаги могут быть предприняты с помощью искрового конвейера, который состоит из последовательности трансформаторов и оценщиков. Фреймворк входных данных проходит через эту последовательность, чтобы получить желаемый преобразованный результат. Такой аккуратный и обтекаемый! Я рассмотрю более подробный пример этого в будущих блогах, чтобы показать мощь конвейеров.

Spark прошел долгий путь в улучшении компонентов построения конвейера машинного обучения. Масштабируемость уже является одной из больших проблем, с которыми мы сталкиваемся при работе с большими наборами данных. Spark очень эффективно пытался упростить это путешествие. Конечно, нужно приложить немало усилий, чтобы достичь оптимизированной и свободной от ошибок мечты, но с правильными конфигурациями многого можно достичь в мгновение ока.

Вывод

Надеюсь, это вдохновило вас на поиски искры. В общем, для машинного обучения в облаке я думаю, что Spark почти необходим. Я предпочитаю использовать его со scala, поскольку я все еще нахожу PySpark недостаточно зрелым, но это тоже очень важная вещь!

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