Amazon Kinesis Firehose – это самый простой способ загрузки потоковых данных в AWS. Amazon Kinesis Firehose – это полностью управляемый сервис, который обеспечивает легкий захват, преобразование и загрузку больших объемов потоковых данных из сотен тысяч источников в Amazon S3, Amazon Redshift, Amazon Elasticsearch Service и Amazon Kinesis Analytics, позволяя выполнять их анализ и получать полезные результаты в режиме, близком к реальному времени.

video-thumbnail-firehose-reinvent-session
47:11
Amazon Kinesis Firehose: глубокое погружение | re:Invent 2015
Amazon Kinesis Firehose позволяет легко загружать потоковые данные в AWS. Мы начнем этот семинар с обзоров сервисов Amazon Kinesis Firehose и Amazon Kinesis Analytics. После этого обсудим, как Amazon Kinesis Firehose упрощает начало работы с потоковыми данными без создания приложения обработки потоковых данных или выделения для этого отдельного ресурса. Вы узнаете о ключевых возможностях сервиса Amazon Kinesis Firehose, в том числе о его сопутствующем агенте, который упрощает передачу данных от их источников. С помощью демо-версии с полным циклом работы мы рассмотрим захват и доставку данных, а также ключевые метрики, которые помогают разработчикам и архитекторам решений проанализировать характеристики потока данных. Наконец, мы продемонстрируем некоторые шаблоны использования данных по мере их поступления в хранилище Amazon S3. Будут показаны два примера: использование AWS Lambda, а также использование Apache Spark, работающего в Amazon EMR, для запросов данных непосредственно в Amazon S3 посредством EMRFS.

Начните работать с AWS бесплатно

Создать бесплатный аккаунт

Получите доступ к уровню бесплатного пользования AWS на год, включая преимущества базовой поддержки: круглосуточное обслуживание клиентов (без праздников и выходных), форумы и многое другое. В настоящее время сервис Amazon Kinesis Firehose недоступен на уровне бесплатного пользования AWS.


Чтобы запустить Amazon Kinesis Firehose и создать поток доставки для загрузки данных в Amazon S3, Amazon Redshift или Amazon Elasticsearch Service, достаточно нескольких щелчков мышью в Консоли управления AWS. Можно отправить данные в поток путем вызова API Firehose или запуска агента Linux, предоставляемого в источнике данных. В дальнейшем Amazon Kinesis Firehose будет непрерывно загружать данные в Amazon S3, Amazon Redshift и Amazon Elasticsearch Service.

Можно указать размер пакета или интервал отправки пакета для контроля того, насколько быстро данные должны передаваться получателям. Например, можно установить интервал передачи пакета 60 секунд, если вы хотите получать новые данные через 60 секунд после их отправки в поток доставки. Кроме того, можно указать, требуется ли сжимать данные. Сервис поддерживает стандартные алгоритмы сжатия, включая GZip и Snappy. Формирование пакетов и сжатие данных перед загрузкой позволяет контролировать скорость получения новых данных в местах их приема.

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

Можно настроить Amazon Kinesis Firehose на подготовку потоковых данных перед их загрузкой в хранилища данных. Просто выберите функцию AWS Lambda на вкладке конфигурации потока доставки Amazon Kinesis Firehose в Консоли управления AWS. Amazon Kinesis Firehose будет автоматически применять эту функцию ко всем записям входных данных и загружать преобразованные данные в целевые объекты. В Amazon Kinesis Firehose имеются встроенные схемы Lambda для преобразования данных из распространенных источников данных, таких как журналы Apache и системные журналы, в форматы JSON и CSV. Можно использовать эти встроенные схемы без каких-либо изменений, дополнительно настроить их или создать собственные функции. Можно также настроить Amazon Kinesis Firehose на автоматический повторный запуск заданий, завершившихся со сбоями, и резервное копирование необработанных потоковых данных. Подробнее »

Amazon Kinesis Firehose в настоящее время поддерживает использование в качестве получателя Amazon S3, Amazon Redshift и Amazon Elasticsearch Service. Можно указать определенную корзину Amazon S3, таблицу Amazon Redshift или домен Amazon Elasticsearch, в который следует загрузить данные.

Amazon Kinesis Firehose предоставляет возможность автоматического шифрования данных после их загрузки в место назначения. В качестве одной из настроек потоков доставки можно указать ключ шифрования AWS Key Management System (KMS).

Amazon Kinesis Firehose предоставляет доступ к нескольким метрикам с помощью консоли, а также через Amazon CloudWatch. Эти метрики включают информацию об объеме отправленных данных, объеме загруженных получателями данных, времени прохождения данных от источника к получателю, а также о проценте успешной загрузки. Можно использовать эти метрики для контроля работоспособности ваших потоков доставки, выполнения любых необходимых действий, таких как изменение получателей, и гарантирования того, что сервис собирает данные и передает их получателям.

При использовании сервиса Amazon Kinesis Firehose вы платите только за объем данных, переданных через сервис. Минимальные или авансовые платежи отсутствуют. Вам не нужен персонал, который бы следил за работой, осуществлял масштабирование и поддерживал инфраструктуру, или настраиваемые приложения для захвата и потоковой загрузки данных.