Apache Spark – это система распределенной обработки данных с открытым исходным кодом, которая широко применяется для работы с большими данными. Apache Spark использует кэширование в памяти и оптимизирует выполнение запросов для обеспечения высокой производительности. Система поддерживает универсальную пакетную обработку, анализ потоковых данных, машинное обучение, графовые базы данных и спонтанные запросы. Подробнее об Apache Spark см. по ссылке.

Amazon EMR имеет встроенную поддержку Apache Spark, что позволяет быстро и просто создавать управляемые кластеры Apache Spark через Консоль управления AWS, интерфейс командной строки AWS или API сервиса Amazon EMR. Кроме того, можно использовать дополнительные возможности Amazon EMR, в том числе быстрое подключение к Amazon S3 с помощью файловой системы EMR (EMRFS), интеграцию с магазином спотовых инстансов Amazon EC2 и каталогом данных AWS Glue, а также сервис Auto Scaling для добавления или удаления инстансов из кластера. Можно также использовать Apache Zeppelin для создания интерактивных блокнотов для совместной работы по исследованию данных с помощью Apache Spark и применять платформы глубокого обучения, такие как Apache MXNet, в приложениях на базе Spark.

Возможности и преимущества

Высокая производительность

Используя механизм выполнения типа «направленный ациклический граф» (DAG), Apache Spark может создавать эффективные планы запросов на преобразование данных. Apache Spark сохраняет в памяти входные, выходные и промежуточные данные в виде отказоустойчивых распределенных наборов данных (RDD), что обеспечивает быструю обработку без затрат на операции ввода‑вывода и повышает производительность повторяющихся или интерактивных нагрузок.

Быстрая разработка приложений

Apache Spark по умолчанию поддерживает Java, Scala и Python, что позволяет выбирать язык для написания приложений. Кроме того, можно отправлять в Apache Spark запросы SQL или HiveQL, используя модуль Spark SQL. Помимо запуска приложений можно использовать API Apache Spark совместно с Python или Scala прямо в оболочке Apache Spark своего кластера. Чтобы создавать интерактивные совместные блокноты для просмотра и визуализации данных, можно также использовать Zeppelin. Кроме того, можно настраивать и отлаживать рабочие нагрузки с помощью истории приложений Spark в консоли Amazon EMR или встроенного пользовательского интерфейса Spark и сервера истории в кластере.

Создание разнообразных рабочих нагрузок

Apache Spark включает несколько библиотек, помогающих создавать приложения для машинного обучения (MLlib), обработки потоков (Spark Streaming) и графов (GraphX). Эти библиотеки тесно интегрированы с семейством инструментов Apache Spark и могут использоваться во множестве примеров использования как готовые инструменты. Дополнительно можно использовать платформы глубокого обучения, такие как Apache MXNet, совместно с приложениями на базе Spark.

Интеграция с набором возможностей Amazon EMR

Запускайте задания Apache Spark с помощью API Step в сервисе Amazon EMR, используйте Apache Spark вместе с файловой системой EMRFS для прямого доступа к данным в Amazon S3, снижайте затраты благодаря спотовым инстансам Amazon EC2, используйте Auto Scaling для динамического добавления и удаления ресурсов, а также запускайте продолжительные или краткосрочные кластеры в зависимости от рабочей нагрузки. С помощью конфигурации безопасности Amazon EMR можно без труда настроить шифрование Spark и аутентификацию по протоколу Kerberos. Кроме того, можно использовать для хранения метаданных таблиц Spark SQL каталог данных AWS Glue или применять Amazon SageMaker совместно с конвейерами машинного обучения Spark. Сервис Amazon EMR устанавливает систему Apache Spark на платформе Hadoop YARN и управляет ею. При этом можно добавлять в свой кластер другие приложения семейства Hadoop. Нажмите здесь, чтобы получить дополнительные сведения о возможностях сервиса Amazon EMR.

Примеры использования

Потоковая обработка

Собирайте и обрабатывайте данные в режиме реального времени из Amazon Kinesis, Apache Kafka и других потоков с помощью расширения Spark Streaming в Amazon EMR. Используйте отказоустойчивые методы анализа потоковых данных и записывайте результаты в Amazon S3 или файловую систему HDFS на кластере.

Машинное обучение

Apache Spark в Amazon EMR включает библиотеку MLlib с множеством масштабируемых алгоритмов машинного обучения, а также позволяет использовать собственные библиотеки. Сохраняя наборы данных в памяти во время выполнения заданий, Spark повышает производительность итерационных запросов, типичных для рабочих нагрузок машинного обучения.

Интерактивные SQL‑запросы

Используйте Spark SQL для отправки интерактивных запросов SQL или HiveQL с низкой задержкой. Apache Spark в Amazon EMR может использовать файловую систему EMRFS, обеспечивая возможность спонтанного доступа к пакетам данных в Amazon S3. Кроме того, можно использовать блокноты Zeppelin или инструменты бизнес‑аналитики через соединения ODBC или JDBC.

Истории успеха клиентов

Yelp

Группа по целевой рекламе компании Yelp создает прогнозирующие модели для определения вероятности реакции пользователя на рекламное сообщение. Используя систему Apache Spark в Amazon EMR для обработки больших объемов данных и тренировки моделей машинного обучения, специалисты Yelp повысили прибыль и процент переходов по рекламным ссылкам.

The Washington Post

The Washington Post использует Apache Spark в Amazon EMR для разработки моделей, лежащих в основе рекомендательной системы веб‑сайта, которая призвана повысить степень вовлеченности и удовлетворенности читателей. Компания использует скоростное соединение между сервисами Amazon EMR и Amazon S3 для обновления моделей в режиме, близком к реальному времени.

Intent Media

Компания Intent Media владеет платформой для размещения рекламы на коммерческих туристических сайтах. Группа специалистов по данным ежедневно собирает терабайты данных интернет‑коммерции с помощью Apache Spark и MLlib в Amazon EMR и использует эту информацию в работе своих сервисов принятия решений, чтобы повысить прибыль клиентов. Подробности см. по ссылке.

200x100_Krux-Digital_Logo

Krux

С помощью системы Apache Spark компания Krux задействует множество процессов машинного обучения и общей обработки данных в составе своей платформы управления данными для анализа потребностей клиентов. Для снижения затрат компания Krux использует краткосрочные кластеры Amazon EMR из спотовых инстансов Amazon EC2, а также сервис Amazon S3 с файловой системой EMRFS в качестве уровня хранения данных для Apache Spark.

Подробнее »

200x100_GumGum_Logo

GumGum

Платформа GumGum, предлагающая размещение рекламы с использованием технологий «in‑image» и «in‑screen», использует Spark в Amazon EMR для прогнозного учета ресурсов, обработки журналов истории посещений и спонтанного анализа неструктурированных данных в Amazon S3. Повышение производительности этих рабочих нагрузок благодаря Spark позволило компании GumGum сэкономить время и деньги.

Подробнее »

200x100-hearst

Hearst Corporation

Hearst Corporation, крупная компания, владеющая различными СМИ и медиаресурсами, предоставляет клиентам контент для просмотра более чем на 200 веб‑сайтах. Благодаря Apache Spark Streaming в Amazon EMR сотрудники редакции компании Hearst могут в режиме реального времени отслеживать, какие статьи вызывают положительный отклик и какие темы наиболее популярны.

Подробнее »

200x100_CrowdStrike_Logo

CrowdStrike

Компания CrowdStrike занимается защитой конечных точек от несанкционированного доступа. Ее специалисты используют сервис Amazon EMR с системой Spark, чтобы обрабатывать терабайты данных о событиях и преобразовывать их в более сложное поведенческое описание действий, производимых на хостах. На основании этих данных CrowdStrike формирует обобщенные данные о событиях и выявляет вредоносную активность.

Подробнее »

Публикации в блоге

blog-image
Танзир Мусаббир
25 мая 2018 г.

Подробнее о ценах на Amazon EMR

Перейти на страницу цен
Готовы приступить к разработке?
Начало работы с Amazon EMR
Есть вопросы?
Свяжитесь с нами