Apache Spark в Amazon EMR
Преимущества Apache Spark в EMR
Amazon EMR позволяет создавать открытые транзакционные озера данных с использованием Apache Spark и Apache Iceberg. Наше оптимизированное по производительности время выполнения полностью совместимо с API Spark с открытым исходным кодом и выполняет задачи до 4,5 раза быстрее по сравнению с аналогами с открытым исходным кодом, обеспечивая при этом в 2,7 раза более высокую скорость записи в Iceberg.
EMR поддерживает Apache Iceberg версии 3 и Spark 4.0 (предварительной версии), что позволяет использовать такие возможности, как ACID-транзакции и эволюция схем, а также работать с такими функциями, как тип данных VARIANT и полуструктурированные данные в больших масштабах, при соблюдении стандарта ANSI SQL для обеспечения целостности данных. Независимо от того, требуется ли вам детальный контроль EC2, масштабирование EKS в контейнерах или простота бессерверной конфигурации EMR, Amazon EMR обеспечивает высокую скорость, надежность и целостность данных.
Функции и преимущества
Оптимизированное по производительности время выполнения Apache Spark в Amazon EMR ускоряет обработку задач в озерах данных, обеспечивая скорость до 4,5 раза быстрее по сравнению с аналогами с открытым исходным кодом при полной совместимости с API. Эта оптимизация также распространяется на операции Apache Iceberg, повышая скорость записи в 2,7 раза для транзакционных озер данных, где важны как скорость, так и надежность.
Поддержка Apache Iceberg версии 3 и Spark 4.0 (предварительной версии) позволяет использовать расширенные возможности, включая ACID-транзакции, эволюцию схем, тип данных VARIANT для обработки полуструктурированных данных, а также соответствие стандарту ANSI SQL.
Время выполнения Amazon EMR для Spark оптимизирует планы запросов, обеспечивая их полное исполнение в оперативной памяти и максимально эффективно используя аппаратные ресурсы. За счет оптимизации обработки промежуточных данных EMR сокращает время получения результата для наиболее ресурсоемких рабочих нагрузок машинного обучения, позволяя быстрее переходить к новым итерациям.
Современные рабочие процессы можно модернизировать с помощью Единой студии SageMaker и Студии EMR, которые предоставляют интегрированные среды для SQL, Python и Scala. Используйте Amazon Q для разработчиков с целью генерации оптимизированного кода PySpark и устранения неполадок в сложных планах выполнения (DAG) в режиме реального времени. В отличие от стандартного Spark, EMR предоставляет постоянный интерфейс Spark UI, позволяющий анализировать и отлаживать журналы заданий даже после завершения работы бессерверных приложений или временных кластеров. Такая сохранность данных критически важна для аудита и непрерывной оптимизации производительности в производственных средах.
Бессерверная конфигурация EMR устраняет операционные сложности, предоставляя мгновенно готовую к работе среду для блокнотов. Вам больше не нужно создавать, масштабировать или управлять кластерами. Вы подключаете предпочитаемую среду разработки, такую как Единая студия Amazon SageMaker или JupyterLab, к бессерверному приложению EMR и начинаете выполнять запросы. Время выполнения EMR для Spark обеспечивает такую же производительность корпоративного уровня для интерактивного кода, как и для производственных конвейеров обработки данных. Независимо от того, выполняете ли вы разовый анализ данных в петабайтах информации в S3 или запускаете сложные задачи конструирования признаков, Amazon EMR предоставляет простую высокопроизводительную среду, необходимую для ускорения наиболее критичных рабочих процессов в области анализа данных.
Агент обновления Apache Spark автоматически выявляет изменения в API и принципах работы приложений PySpark и Scala. Инженеры могут запускать обновления непосредственно из Единой студии SageMaker или выбранной интегрированной среды разработки (IDE) за счет совместимости с протоколом контекста модели (MCP). В процессе обновления агент анализирует существующий код и предлагает определенные изменения, а инженеры могут проверить и утвердить их перед внедрением. Агент подтверждает корректность функций с помощью проверок качества данных. В настоящее время этот агент поддерживает обновления со Spark 2.4 до 3.5 и обеспечивает точную обработку данных на протяжении всего процесса обновления.
Примеры использования
Собирайте и обрабатывайте данные в режиме реального времени из Amazon Kinesis, Apache Kafka и других потоков данных с помощью расширения Spark Streaming в EMR. Используйте отказоустойчивые методы аналитики потоковых данных и записывайте результаты в S3 или файловую систему HDFS на кластере.
Apache Spark в EMR включает библиотеку MLlib с множеством масштабируемых алгоритмов машинного обучения, а также позволяет использовать собственные библиотеки. Сохраняя наборы данных в памяти во время выполнения заданий, Spark повышает производительность итерационных запросов, типичных для рабочих нагрузок машинного обучения. Расширить возможности Amazon SageMaker можно за счет подключения инстанса блокнота к кластеру Apache Spark, выполняемому в сервисе Amazon EMR, с помощью Amazon SageMaker Spark для легко обучаемых моделей и моделей размещения.
Используйте Spark SQL для отправки интерактивных запросов SQL или HiveQL с низкой задержкой. Spark в EMR может использовать файловую систему EMRFS, обеспечивая возможность спонтанного доступа к пакетам данных в сервисе S3. Кроме того, можно использовать EMR Studio, Ноутбуки EMR, блокноты Zeppelin или инструменты бизнес‑аналитики (BI) через подключения ODBC или JDBC.
Истории успеха клиентов
Yelp
Группа по целевой рекламе компании Yelp создает прогнозирующие модели для определения вероятности реакции пользователя на рекламное сообщение. Используя Apache Spark в Amazon EMR для обработки больших объемов данных и тренировки моделей машинного обучения, специалисты Yelp повысили прибыль и процент переходов по рекламным ссылкам.
The Washington Post
The Washington Post использует Apache Spark в Amazon EMR для разработки моделей, лежащих в основе рекомендательной системы веб‑сайта, которая призвана повысить степень вовлеченности и удовлетворенности читателей. Компания использует скоростное соединение между сервисами Amazon EMR и Amazon S3 для обновления моделей в режиме, близком к реальному времени.
Krux
С помощью системы Apache Spark компания Krux задействует множество процессов машинного обучения и общей обработки рабочих нагрузок в составе своей платформы управления данными для анализа потребностей клиентов. Для снижения затрат компания Krux использует краткосрочные кластеры Amazon EMR на спотовых инстансах Amazon EC2, а также сервис Amazon S3 с файловой системой EMRFS в качестве уровня хранения данных для Apache Spark.
GumGum
GumGum – платформа для рекламы в изображениях и видимой области экрана – использует Spark в Amazon EMR для прогнозирования рекламного инвентаря, обработки журналов кликов пользователей и разового анализа неструктурированных данных в Amazon S3. Повышение производительности этих рабочих нагрузок благодаря Spark позволило компании GumGum сэкономить время и деньги.
Hearst Corporation
Hearst Corporation, крупная компания, владеющая различными СМИ и медиаресурсами, предоставляет клиентам контент для просмотра более чем на 200 веб‑сайтах. Благодаря Apache Spark Streaming в Amazon EMR сотрудники редакции компании Hearst могут в режиме реального времени отслеживать, какие статьи вызывают положительный отклик и какие темы наиболее популярны.
CrowdStrike
Компания CrowdStrike занимается защитой адресов от несанкционированного доступа. Ее специалисты используют сервис Amazon EMR с системой Spark, чтобы обрабатывать терабайты данных о событиях и преобразовывать их в более сложное поведенческое описание действий, производимых на хостах. На основании этих данных CrowdStrike формирует обобщенные данные о событиях и выявляет вредоносную активность.