Presto – это ядро обработки распределенных SQL‑запросов с открытым исходным кодом, оптимизированное для выполнения спонтанного анализа данных с низкой задержкой. Оно поддерживает стандарт ANSI SQL, включая комплексные запросы, агрегацию, слияние и функции окон. Presto может обрабатывать данные из множества источников, включая распределенную файловую систему Hadoop (HDFS) и Amazon S3. Подробнее о Presto см. здесь.

Быстро и просто создавать управляемые кластеры Presto можно с помощью Консоли управления AWS, интерфейса командной строки или API сервиса Amazon EMR. Можно также использовать дополнительные возможности Amazon EMR, в том числе быстрое подключение к Amazon S3, интеграцию со спотовыми инстансами Amazon EC2, широкий выбор инстансов Amazon EC2, включая инстансы с оптимизацией памяти, а также команды для изменения размера кластера путем простого добавления или удаления инстансов. 

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

Выполнение интерактивных запросов

Presto использует пользовательский механизм выполнения запросов с операторами, предназначенными для поддержки семантики SQL. В отличие от Hive / MapReduce, Presto исполняет запросы в памяти, передавая их по сетевому конвейеру между фазами, что позволяет избежать ненужных операций ввода‑вывода. Конвейерная модель исполнения запускает множество фаз параллельно и транслирует данные из одной фазы в другую по мере их готовности.

Удобство использования

Для запуска кластера Amazon EMR с Presto потребуется лишь несколько минут. Не нужно заниматься выделением узлов, настройкой, конфигурацией или оптимизацией кластера. Об этом позаботится Amazon EMR, а вы можете сконцентрироваться на аналитических задачах. При этом можно использовать такие инструменты, как Airpal – средство с открытым исходным кодом от компании Airbnb для выполнения запросов через Интернет. Интерфейс пользователя Airpal упрощает просмотр и спонтанный анализ данных. Доступны такие возможности, как выделение синтаксических элементов, экспорт результатов в CSV, сохранение запросов для последующего использования и анализ таблиц для визуализации схем.

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

Выполняйте интерактивные запросы, которые напрямую обращаются к данным в Amazon S3, экономьте средства, используя ресурсы спотовых инстансов Amazon EC2, применяйте Auto Scaling для динамического добавления и удаления ресурсов, а также запускайте долгосрочные или краткосрочные кластеры в зависимости от рабочих нагрузок. Можно также добавлять в свой кластер другие приложения семейства Hadoop.

Поддержка ANSI SQL

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

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

Компания Netflix выбрала Presto в качестве ядра интерактивной обработки запросов к большим данным, совместимого с ANSI SQL. Presto хорошо масштабируется, является решением с открытым исходным кодом и интегрируется с Hive Metastore и Amazon S3, на которых основана среда хранения больших данных Netflix. Netflix запускает Presto на постоянных кластерах Amazon EMR, что позволяет быстро и гибко запрашивать данные из хранилища Amazon S3 объемом порядка 25 ПБ. Netflix является активным участником проекта Presto, и Amazon EMR предоставляет Netflix гибкие возможности запуска собственной сборки Presto на кластерах Amazon EMR. В среднем Netflix выполняет на своих кластерах Presto около 3500 запросов в день. 

Jampp – это маркетинговая платформа для мобильных приложений, которая использует передовые методы ретаргетинга рекламы для привлечения пользователей приложений. Jampp покупает рекламные инструменты для мобильных приложений с помощью своего собственного механизма торгов в режиме реального времени (RTB), который динамически размещает заявки на рекламные инструменты на 18 биржах RTB и более чем в 150 мобильных рекламных сетях. Jampp использует Presto на базе Amazon EMR для расширенного спонтанного анализа данных журналов, объединяющего данные из нескольких источников и сложные вычисления сегментов ретаргетинга. С увеличением базы пользователей Jampp на 600 % возросла потребность в выполнении сложных аналитических запросов. Компания Jampp отказалась от использования сложного Python‑приложения на MySQL для многоядерной архитектуры в пользу Presto, что привело к 12‑кратному повышению производительности. В настоящее время Jampp использует Presto в Amazon EMR для обработки 40 ТБ данных в день.

Инкубатор стартапов Cogo Labs управляет платформой для анализа рынка и бизнес‑аналитики, которой пользуются входящие в инкубатор компании и собственные группы специалистов Cogo Labs. Компания стандартизировала работу с данными на основе SQL, чтобы обеспечить поддержку среды OLAP с высоким уровнем инноваций. Cogo Labs выбрала Presto за производительность при выполнении запросов в режиме реального времени, поддержку ANSI‑SQL и способность обрабатывать данные непосредственно из Amazon S3. Благодаря ядру Presto, работающему на Amazon EMR, более 100 разработчиков и аналитиков компании могут отправлять SQL‑запросы более чем к 500 ТБ данных, хранящихся в Amazon S3, для просмотра этих данных, спонтанного анализа и создания отчетов. Cogo Labs использует комбинацию краткосрочных и постоянных кластеров. Интеграция Amazon EMR со спотовыми инстансами помогает компании снизить затраты.

Компания OpenSpan предоставляет решения для автоматизации и аналитики, которые помогают объединить людей, процессы и технологии для лучшего понимания производительности сотрудников, упрощения транзакций и вовлечения сотрудников и клиентов. Компания OpenSpan осуществила миграцию с HBase на Presto в Amazon EMR с хранилищем данных в Amazon S3. Компания OpenSpan выбрала ядро Presto, поскольку оно обладает интерфейсом SQL и может запрашивать данные в режиме реального времени непосредственно из Amazon S3. Это позволяет сотрудникам компании быстро просматривать огромные объемы данных и быстро разрабатывать новые продукты для обработки данных. OpenSpan использует формат файла Parquet и применяет PrestogreSQL для подключения к Presto. Компания OpenSpan выбрала Amazon EMR и Amazon S3 для экономически эффективной обработки гигабайтов данных, которые она получает ежедневно от своих клиентов.

Kanmu – это японский стартап в сфере финансовых сервисов, который предоставляет держателям кредитных карт специальные предложения на основании информации об использовании карт. Компания Kanmu осуществила миграцию с Hive на Presto в Amazon EMR, поскольку Presto позволяет выполнять поисковый и итерационный анализ в интерактивном режиме, обладает хорошей производительностью при работе с Amazon S3 и может масштабироваться для выполнения запросов к большим наборам данных. Kanmu использует модуль Fluentd‑plugin‑s3 для передачи данных в Amazon S3, оптимизированный формат строк и столбцов (ORC) для хранения данных, а также веб‑клиент shib на основе node.js для выполнения SQL‑запросов.

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

blog-image

Custom Log Presto Query Events on Amazon EMR for Auditing and Performance Insights
Зафар Кападиа и Франциско Оливейра
15 декабря 2017 г.

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

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