Общие вопросы
Интерактивный анализ позволяет транслировать исследование данных в режиме реального времени. С помощью специальных запросов или программ вы можете изучать потоки из Amazon MSK или Потоков данных Amazon Kinesis и визуализировать данные в этих потоках. Например, вы можете просмотреть в режиме реального времени поведение метрики, вычисляющей среднее значение за период времени, и отправить агрегированные данные в выбранное место назначения. Интерактивный анализ также облегчает последовательную разработку приложений по обработке потоковых данных. Составляемые вами запросы постоянно обновляются при поступлении новой информации. Управляемый сервис Amazon для Студии Apache Flink позволяет развертывать непрерывное выполнение запросов с включенным автоматическим масштабированием и резервным копированием состояния.
Начало работы
Управляемый сервис Amazon для Apache Flink эластично масштабирует приложение, чтобы его ресурсы соответствовали скорости поступления данных потока‑источника и уровню сложности запросов для большинства сценариев. Подробные сведения об ограничениях сервиса для приложений Apache Flink приведены в разделе «Ограничения» руководства разработчиков по Управляемому сервису Amazon для Apache Flink.
Да. С помощью соединителей Apache Flink DataStream приложения Управляемого сервиса Amazon для Apache Flink могут использовать реестр схем AWS Glue – бессерверную функцию AWS Glue. Вы можете интегрировать Apache Kafka, Amazon MSK и Потоки данных Amazon Kinesis в качестве приемника или источника с рабочими нагрузками Управляемого сервиса Amazon для Apache Flink. Чтобы начать работу и узнать больше, ознакомьтесь с Руководством разработчика реестра схем AWS Glue.
Основные понятия
Управление приложениями
- Наблюдение за Управляемым сервисом Amazon для Apache Flink в руководстве для разработчиков по Управляемому сервису Amazon для Apache Flink.
- Наблюдение за Управляемым сервисом Amazon для Apache Flink в руководстве для разработчиков по Управляемому сервису Amazon для Студии Apache Flink.
- Предоставление разрешений в руководстве для разработчиков по Управляемому сервису Amazon для Apache Flink;
- Предоставление разрешений в руководстве для разработчиков по Управляемому сервису Amazon для Студии Apache Flink.
Вопрос. Как Управляемый сервис Amazon для Apache Flink масштабирует приложения?
Управляемый сервис Amazon для Apache Flink эластично масштабирует приложение, чтобы его ресурсы соответствовали скорости поступления данных потока‑источника и уровню сложности запросов для большинства сценариев. Управляемый сервис Amazon для Apache Flink выделяет ресурсы в виде KPU Amazon. Один KPU предоставляет 1 виртуальный ЦП и 4 ГБ памяти.
Цены и оплата
Оплата начисляется на почасовой основе, исходя из числа Amazon KPU, использованных при работе приложения потоковой передачи. KPU представляет собой единицу ресурса потоковой обработки, которая включает 1 виртуальный ЦП и 4 ГБ оперативной памяти. Управляемый сервис Amazon для Apache Flink автоматически масштабирует количество KPU, необходимых приложению для обработки потоков данных, по мере изменения требований к памяти и вычислительной мощности в зависимости от сложности обработки и скорости обработки потоковых данных.
Создание приложений Apache Flink
Создание кода для приложений, использующих Apache Flink, в предпочитаемой интегрированной среде разработки (IDE)
DataStream <GameEvent> rawEvents = env.addSource(
New KinesisStreamSource(“input_events”));
DataStream <UserPerLevel> gameStream =
rawEvents.map(event - > new UserPerLevel(event.gameMetadata.gameId,
event.gameMetadata.levelId,event.userId));
gameStream.keyBy(event -> event.gameId)
.keyBy(1)
.window(TumblingProcessingTimeWindows.of(Time.minutes(1)))
.apply(...) - > {...};
gameStream.addSink(new KinesisStreamSink("myGameStateStream"));
Если этих операторов недостаточно для приложения, можно создать собственные операторы. Другие примеры можно найти в разделе «Операторы» руководства разработчиков по Управляемому сервису Amazon для Apache Flink. Полный список операторов Apache Flink можно найти в документации по Apache Flink.
- Источники потоковых данных: Управляемая потоковая передача Amazon для Apache Kafka (Amazon MSK), Потоки данных Amazon Kinesis. Целевые объекты или получатели данных: Потоки данных Amazon Kinesis,
- Данные Amazon Kinesis Firehose, Amazon DynamoDB, Amazon Elasticsearch Service и Amazon S3 (посредством интеграции файловых получателей данных).
Создание приложений Управляемого сервиса Amazon для Студии Apache Flink в управляемом блокноте
Вопрос. Как разработать приложение Студии?
Вы можете начать с Управляемого сервиса Amazon для Студии Apache Flink, Потоков данных Amazon Kinesis или консолей Amazon MSK и за несколько шагов запустить бессерверный блокнот для мгновенного запроса потоков данных и выполнения интерактивной аналитики данных.
Интерактивная аналитика данных. Вы можете написать код в блокноте на SQL, Python или Scala, чтобы взаимодействовать с потоковыми данными и получать ответ на запрос в течение нескольких секунд. Вы можете использовать встроенные визуализации для изучения данных, просмотра аналитических выводов о потоках в режиме реального времени непосредственно в своем блокноте, а также легко разрабатывать приложения для обработки потоков на базе Apache Flink.
Как только ваш код будет готов к запуску в виде рабочего приложения, вы можете за один шаг перейти к приложению потоковой обработки, обрабатывающему гигабайты данных в секунду без использования серверов.
Приложение для потоковой обработки. Когда вы будете готовы запустить свой код в рабочей среде, вы можете создать свой код, нажав «Развернуть как приложение для потоковой обработки» в интерфейсе блокнота или выполнив одну команду в интерфейсе командной строки. Студия берет на себя управление всей инфраструктурой, необходимой для запуска приложения потоковой обработки в большом масштабе с автомасштабированием и включенным режимом надежного состояния, как и в приложении Управляемого сервиса Amazon для Apache Flink.
Вопрос. Как выглядит код приложения?
Вы можете написать код в блокноте на предпочитаемом языке SQL, Python или Scala, используя API таблицы Apache Flink. Интерфейс API таблицы — это высокоуровневый абстрактный и реляционный интерфейс API, который поддерживает надмножество возможностей SQL. Он предлагает знакомые операции, такие как выбор, фильтрация, объединение, группировка, агрегирование и т. д., а также специфические понятия для потока, такие как создание окна. Используйте знак %, чтобы указать язык, который будет использоваться в разделе блокнота, и переключаться между языками. Интерпретаторы — это подключаемые модули Apache Zeppelin, которые позволяют указывать язык или механизм обработки данных для каждого раздела блокнота. Для улучшения функциональности кода вы также можете создавать пользовательские функции и ссылаться на них.
Вопрос. Какие операции SQL поддерживаются?
Можно выполнять следующие операции SQL:
- Сканирование и фильтрация (SELECT, WHERE)
- Агрегирование (GROUP BY, GROUP BY WINDOW, HAVING)
- Набор (UNION, UNIONALL, INTERSECT, IN, EXISTS)
- Порядок (ORDER BY, LIMIT)
- Объединение (INNER, OUTER, временное окно — BETWEEN и AND, объединение с временными таблицами — таблицы, отслеживающими изменения во времени)
- Top-N
- Дедупликация
- Распознавание образов
Некоторые из этих запросов, например, GROUP BY, OUTER JOIN и Top-N, обновляют результаты для потоковых данных, а значит результаты постоянно обновляются по мере обработки потоковых данных. Также поддерживаются другие операторы DDL, такие как CREATE, ALTER и DROP. Полный список запросов и примеров приведён в документации по запросам Apache Flink.
Вопрос. Как поддерживаются Python и Scala?
API таблицы Apache Flink поддерживает Python и Scala посредством языковой интеграции с использованием строк Python и выражений Scala. Поддерживаемые операции похожи на аналогичные операции SQL, включая выбор, порядок, группировку, объединение, фильтрацию и создание окон. Полный список операций и примеры приведены в документации для разработчиков.
Вопрос. Какие версии Apache Flink и Apache Zeppelin поддерживаются?
Подробные сведения о поддерживаемых версиях Apache Flink можно узнать на странице примечаний к выпуску Управляемого сервиса Amazon для Apache Flink. На этой странице также представлены версии Apache Zeppelin, Apache Beam, Java, Scala, Python и AWS SDK, поддерживаемые Управляемым сервисом Amazon для Apache Flink.
Вопрос. Какие типы интеграции поддерживаются по умолчанию в приложениях Управляемого сервиса Amazon для Студии Apache Flink?
- Источники данных: Управляемая потоковая передача Amazon для Apache Kafka (Amazon MSK), Потоки данных Amazon Kinesis, Amazon S3
- Целевые объекты или получатели: Amazon MSK, Amazon Kinesis Data Streams и Amazon S3
Вопрос. Поддерживается ли возможность настраиваемой интеграции?
Можно настроить дополнительные интеграции за несколько шагов и строк кода Apache Flink (Python, Scala или Java), чтобы определить соединения со всеми интеграциями, поддерживаемыми Apache Flink. Сюда входят такие целевые объекты, как Сервис Amazon OpenSearch, Amazon ElastiCache для Redis, Amazon Aurora, Amazon Redshift, Amazon DynamoDB, Amazon Keyspaces и другие. Исполняемые файлы для пользовательских соединителей можно прикрепить при создании или настройке приложения Студии.
Соглашение об уровне обслуживания
Вопрос: Что гарантирует соглашение об уровне обслуживания Управляемого сервиса Amazon для Apache Flink?
Наше соглашение об уровне обслуживания (SLA) гарантирует ежемесячный процент безотказной работы Управляемого сервиса Amazon для Apache Flink не менее 99,9 %.
Вопрос. Как узнать, могу ли я претендовать на компенсацию по соглашению об уровне обслуживания (SLA)?
Компенсация по соглашению об уровне обслуживания Управляемого сервиса Amazon для Apache Flink по условиям соглашения об уровне обслуживания в отношении Управляемого сервиса Amazon для Apache Flink предоставляется, если бесперебойная ежемесячная работа сервиса в рамках одного региона AWS в нескольких зонах доступности, в которых запущено задание, составила менее 99,9 % в течение любого оплачиваемого месяца. С условиями и положениями соглашения об уровне обслуживания, а также подробностями оформления заявки на компенсацию можно ознакомиться на странице сведений об Управляемом сервисе Amazon для Apache Flink.
Начать работу с сервисом Аналитика данных Amazon Kinesis

Из этого пошагового руководства вы узнаете, как использовать Amazon Kinesis Data Analytics для работы с SQL илиApache Flink.

Создайте свое первое приложение потоковой передачи в консоли Amazon Kinesis Data Analytics.