Apache Spark – это распределенная система обработки данных с открытым исходным кодом, обычно используемая для работы с большими данными. Apache Spark использует кэширование в памяти и оптимизированное выполнение для высокого быстродействия, а также поддерживает общую пакетную обработку, аналитику потоков, машинное обучение, графовые базы данных и спонтанные запросы.
Сервис Amazon EMR обеспечивает нативную поддержку Apache Spark на платформе Hadoop YARN, что позволяет быстро и просто создавать управляемые кластеры Apache Spark через Консоль управления AWS, интерфейс командной строки AWS или API Amazon EMR. Можно также использовать дополнительные возможности Amazon EMR, в том числе быстрое соединение с Amazon S3 благодаря файловой системе EMR (EMRFS), интеграцию с рынком спотовых инстансов Amazon EC2 и команды добавления или удаления инстансов для легкого изменения размера кластера. Кроме того, можно использовать Apache Zeppelin, чтобы создавать интерактивные и совместные блокноты для просмотра данных с помощью Apache Spark.
Начните работать с Apache Spark в Amazon EMR
Создать бесплатный аккаунтЕсть вопросы? Задайте их нам!
Will Spark Power the Data behind Precision Medicine?
Analyze Your Data on Amazon DynamoDB with Apache Spark
Optimize Spark-Streaming to Efficiently Process Amazon Kinesis Streams
Submitting User Applications with spark-submit
Querying Amazon Kinesis Streams Directly with SQL & Spark Streaming
Running an External Zeppelin Instance using S3 Backed Notebooks with Spark on Amazon EMR
![](/libs/settings/wcm/designs/default/resources/0.gif)
Используя механизм выполнения типа «направленный ациклический граф» (DAG), Apache Spark может создавать эффективные планы запросов на преобразование данных. Apache Spark также сохраняет в памяти входные, выходные и промежуточные данные в виде отказоустойчивых распределенных наборов данных (RDD), чем обеспечивается быстрая обработка без затрат ввода/вывода, а также повышается производительность повторяющихся или интерактивных нагрузок.
![](/libs/settings/wcm/designs/default/resources/0.gif)
Apache Spark по умолчанию поддерживает Java, Scala и Python, так что вы можете выбрать язык для написания приложений. Можно также отправлять в Apache Spark запросы SQL или HiveQL, используя модуль Spark SQL. Помимо запуска приложений, вы можете использовать API Apache Spark совместно с Python или Scala прямо в оболочке Apache Spark в своем кластере. Дополнительно вы можете использовать Zeppelin, чтобы создавать интерактивные и совместные блокноты для просмотра и визуализации данных.
![](/libs/settings/wcm/designs/default/resources/0.gif)
Apache Spark включает несколько библиотек, помогающих создавать приложения для машинного обучения (MLlib), обработки потоков (Spark Streaming) и графов (GraphX). Эти библиотеки тесно интегрированы с семейством инструментов Apache Spark и могут использоваться во множестве примеров использования как готовые инструменты.
![](https://d1.awsstatic.com/asset-repository/benefits/workflow/Benefit_Workflow_Green.5b7429ab0ed9b84ec45a6d4b3f786bc86cdb9fd6.png)
Запускайте задачи Apache Spark с помощью API Step в сервисе Amazon EMR, используйте Apache Spark вместе с файловой системой EMRFS для прямого доступа к данным в Amazon S3, снижайте затраты благодаря спотовым ресурсам EC2 и запускайте продолжительные или краткосрочные кластеры, соответствующие рабочей нагрузке. Сервис Amazon EMR устанавливает систему Apache Spark на платформе Hadoop YARN и управляет ею, к тому же вы можете добавлять в свой кластер другие приложения семейства Hadoop. Нажмите здесь, чтобы получить дополнительные сведения о возможностях сервиса Amazon EMR.
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 ежедневно собирает терабайты данных интернет-коммерции и использует эту информацию в работе своих сервисов принятия решений, чтобы повысить прибыль клиентов. Подробнее см. по ссылке.
Krux
С помощью системы Apache Spark компания Krux задействует множество процессов машинного обучения и общей обработки данных как часть своей платформы управления данными, призванной помочь в понимании потребностей клиентов. Для снижения затрат компания Krux использует краткосрочные кластеры Amazon EMR из спотовых ресурсов Amazon EC2, а также сервис Amazon S3 с файловой системой EMRFS в качестве уровня хранения данных для Apache Spark.
GumGum
Платформа GumGum, предлагающая размещение рекламы с использованием технологий «in-image» и «in-screen», использует Spark в Amazon EMR для прогнозного учета ресурсов, обработки журналов истории посещений и быстрого анализа неструктурированных данных в Amazon S3. Повышение производительности этих рабочих нагрузок благодаря Spark позволило компании GumGum сэкономить время и деньги.
Hearst Corporation
Hearst Corporation, крупная компания, владеющая различными СМИ и медиаресурсами, предоставляет клиентам для просмотра контент более чем на 200 веб-сайтах. Благодаря Apache Spark Streaming в Amazon EMR сотрудники редакции компании Hearst могут в режиме реального времени отслеживать, какие статьи вызывают положительный отклик и какие темы наиболее популярны.
CrowdStrike
Компания CrowdStrike занимается защитой адресов серверов от несанкционированного доступа. Ее специалисты используют сервис Amazon EMR с системой Spark, чтобы обрабатывать терабайты данных о событиях и преобразовывать их в более сложное поведенческое описание действий, производимых на хостах. На основании этих данных компания CrowdStrike может сформировать обобщенные данные о событиях и выявить вредоносную активность.
Сбор и обработка данных в режиме реального времени из Amazon Kinesis, Apache Kafka и других потоков с помощью расширения Spark Streaming в Amazon EMR. Отказоустойчивые методы анализа потоковых данных и запись результатов в Amazon S3 или файловую систему HDFS на кластере.
Apache Spark в Amazon EMR содержит библиотеку MLlib с множеством масштабируемых алгоритмов машинного обучения, а также позволяет использовать собственные библиотеки. Сохраняя наборы данных в памяти во время выполнения задачи, Spark повышает производительность повторяющихся запросов, которые часто встречаются в процессе машинного обучения.
Используйте Spark SQL для интерактивных запросов SQL или HiveQL с низкой задержкой. Apache Spark в Amazon EMR может использовать файловую систему EMRFS, обеспечивая возможность спонтанного доступа к пакетам данных в Amazon S3. Кроме того, можно использовать блокноты Zeppelin или инструменты BI через соединения ODBC или JDBC.
- Инструкции по созданию кластера Amazon EMR c Apache Spark
- Подробнее о хранилище HBase см. на сайте Apache Software Foundation, посвященном проекту Spark
- Публикация в блоге AWS о запуске Spark в Amazon EMR с примерами использования
- Гостевая публикация от компании Intent Media в блоге AWS Big Data Blog о машинном обучении с помощью системы Apache Spark в Amazon EMR