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
Используя механизм выполнения типа «направленный ациклический граф» (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, чтобы создавать интерактивные и совместные блокноты для просмотра и визуализации данных.
Apache Spark включает несколько библиотек, помогающих создавать приложения для машинного обучения (MLlib), обработки потоков (Spark Streaming) и графов (GraphX). Эти библиотеки тесно интегрированы с семейством инструментов Apache Spark и могут использоваться во множестве примеров использования как готовые инструменты.
Запускайте задачи 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