Общие вопросы

Вопрос. Что такое Управляемый сервис Amazon для Apache Flink?
Управляемый сервис Amazon для Apache Flink позволяет преобразовывать и анализировать потоковые данные в реальном времени с помощью Apache Flink. Apache Flink – это платформа и механизм с открытым исходным кодом для обработки потоков данных. Управляемый сервис Amazon для Apache Flink упрощает создание приложений Apache Flink, управление ими и интеграцию таких приложений с другими сервисами AWS.
 
Управляемый сервис Amazon для Apache Flink обеспечивает все необходимое для непрерывной работы приложений потоковой передачи и выполняет автоматическое масштабирование в зависимости от объема и скорости поступления входных данных. Управляемый сервис Amazon для Apache Flink избавляет от необходимости управлять серверами, минимальных выплат и расходов на настройку. Вы платите только за ресурсы, используемые приложениями потоковой передачи.
 
Вопрос. Что представляет собой обработка потоков в режиме реального времени и где ее можно использовать?
Из-за взрывного роста количества источников данных в режиме реального времени компании потребляют данные как никогда быстро. Независимо от того, обрабатываете ли вы данные журналов из мобильных и веб-приложений, данные о покупках с платформ интернет-коммерции или данные датчиков с IoT-устройств, получая информацию в режиме реального времени, можно узнать, что происходит с клиентами и бизнесом прямо сейчас.
 
Вопрос. Что можно делать с помощью Управляемого сервиса Amazon для Apache Flink?
Управляемый сервис Amazon для Apache Flink можно использовать в различных ситуациях для непрерывной обработки данных и получения аналитической информации за считанные секунды или минуты, без ожидания длиной в несколько дней либо недель. Управляемый сервис Amazon для Apache Flink позволяет быстро создавать комплексные приложения потоковой обработки данных для анализа журналов или навигации по сайту, Интернета вещей (IoT), рекламных технологий, игр и многого другого. Четыре наиболее распространенных примера использования: извлечение, преобразование и загрузка потоковых данных (ETL), непрерывная генерация метрик, создание аналитических систем с быстрым откликом в режиме реального времени и интерактивная отправка запросов в потоки данных.
 
Извлечение, преобразование и загрузка (ETL) потоковых данных
Приложения извлечения, преобразования и загрузки (ETL) потоковых данных позволяют в режиме реального времени очищать, обогащать, систематизировать и преобразовывать необработанные данные перед их загрузкой в озеро данных или хранилище данных, сокращая или устраняя этапы пакетной ETL‑обработки. Эти приложения могут объединять небольшие записи в файлы большего размера перед их доставкой и выполнять сложные операции объединения потоков и таблиц. Например, можно создать приложение, которое будет непрерывно считывать данные датчика IoT, сохраняемые в потоках данных Управляемой потоковой передачи Amazon для Apache Kafka (Amazon MSK), упорядочивать эти данные по типу датчика, удалять дубликаты данных, приводить данные в соответствие с заданной схемой, а затем доставлять эти данные в Простом сервисе хранения данных Amazon (Amazon S3).
 
Непрерывная генерация метрик
Приложения для непрерывной генерации метрик позволяют отслеживать и понимать тенденции изменения данных с течением времени. Такие приложения могут объединять потоковые данные в блоки критически важной информации и эффективно интегрировать ее с базами отчетных данных и сервисами мониторинга для обслуживания приложений и пользователей в режиме реального времени. Управляемый сервис Amazon для Apache Flink позволяет использовать код Apache Flink (на Java, Scala, Python или SQL) для непрерывной генерации аналитики временных рядов во временных окнах. Например, можно создать обновляемую в режиме реального времени турнирную таблицу для мобильной игры, вычисляя лучших игроков каждую минуту, а затем отправляя эти данные в Amazon DynamoDB. Или можно отслеживать входящий трафик веб‑сайта, подсчитывая количество уникальных посетителей сайта каждые пять минут и отправляя обработанные результаты в Amazon RedShift.
 
Аналитические системы с быстрым откликом, работающие в режиме реального времени
Аналитические приложения с быстрым откликом, работающие в режиме реального времени, отправляют оповещения и предупреждения в режиме реального времени, когда определенные показатели достигают заданных пороговых значений или (в более сложных случаях) когда приложение обнаруживает некие аномалии с помощью алгоритмов машинного обучения (ML). Такие приложения позволяют в режиме реального времени мгновенно реагировать на изменения в бизнесе, например прогнозировать отказ пользователя от мобильного приложения и выявлять системы, работа которых ухудшается. К примеру, приложение может вычислять доступность или коэффициент успешного использования предназначенного для клиентов интерфейса API с течением времени, а затем отправлять результаты в Amazon CloudWatch. Можно также создать другое приложение для поиска событий, отвечающих определенным критериям, а затем автоматически отправлять оповещения соответствующим клиентам с помощью Потоков данных Amazon Kinesis и Простого сервиса уведомлений Amazon (Amazon SNS).
 
Интерактивный анализ потоков данных
Интерактивный анализ позволяет транслировать исследование данных в режиме реального времени. С помощью специальных запросов или программ вы можете изучать потоки из Amazon MSK или Потоков данных Amazon Kinesis и визуализировать данные в этих потоках. Например, вы можете просмотреть в режиме реального времени поведение метрики, вычисляющей среднее значение за период времени, и отправить агрегированные данные в выбранное место назначения. Интерактивный анализ также облегчает последовательную разработку приложений по обработке потоковых данных. Составляемые вами запросы постоянно обновляются при поступлении новой информации. Управляемый сервис Amazon для Студии Apache Flink позволяет развертывать непрерывное выполнение запросов с включенным автоматическим масштабированием и резервным копированием состояния. 
 

Начало работы

Вопрос. Как начать работу с приложениями Apache Flink для Управляемого сервиса Amazon для Apache Flink?
Войдите в консоль Управляемого сервиса Amazon для Apache Flink и создайте новое приложение для обработки потоковых данных. Можно также использовать интерфейс командной строки AWS или пакеты SDK AWS. После создания приложения перейдите в свою привычную интегрированную среду разработки, подключитесь к AWS и установите библиотеки Apache Flink с открытым исходным кодом и пакеты SDK AWS на выбранном языке. Apache Flink – это платформа и механизм с открытым исходным кодом для обработки потоков данных и пакетов SDK AWS. В состав расширяемых библиотеки входят более 25 предварительно созданных операторов потоковой обработки, таких как операторы операций с окнами и агрегации, а также интеграцию с сервисами AWS, например с Amazon MSK, Потоками данных Amazon Kinesis, Amazon DynamoDB и Данными Amazon Kinesis Firehose. После сборки загрузите код в Управляемый сервис Amazon для Apache Flink. Сервис обеспечивает все необходимое для непрерывной работы приложений в режиме реального времени, включая автоматическое масштабирование в зависимости от объема и скорости поступления входных данных. 
 
Вопрос. Как начать работу с приложениями Apache Beam для Управляемого сервиса Amazon для Apache Flink?
Использование Apache Beam для создания приложений Управляемого сервиса Amazon для Apache Flink очень напоминает начало работы с Apache Flink. Вы можете следовать инструкциям в предыдущем вопросе. Убедитесь, что установили все компоненты, необходимые для работы приложений на Apache Beam, следуя инструкциям в руководстве для разработчиков. Обратите внимание, что Управляемый сервис Amazon для Apache Flink поддерживает Java SDK только при работе на Apache Beam. 
 
Вопрос. Как начать работу с Управляемым сервисом Amazon для Студии Apache Flink?
Вы можете начать с консоли Управляемого сервиса Amazon для Apache Flink и создать новый блокнот Студии. Сразу после запуска блокнота вы можете открыть его в Apache Zeppelin для непосредственного написания кода на SQL, Python или Scala. Вы можете интерактивно разрабатывать приложения с помощью интерфейса блокнота для Потоков данных Amazon Kinesis, Amazon MSK и Amazon S3, используя встроенные интеграции и другие источники и целевые объекты, поддерживаемые Apache Flink, с пользовательскими соединителями. Для выполнения специальных запросов к потокам данных и разработки приложения по обработке потоков можно использовать все операторы, поддерживаемые Apache Flink в Flink SQL и Table API. После того, как вы будете готовы, можно всего за несколько шагов собрать и продвинуть свой код в непрерывно работающее приложение потоковой обработки данных с автомасштабированием и надежным состоянием. 
 
Вопрос. Каковы ограничения Управляемого сервиса Amazon для Apache Flink?
Управляемый сервис Amazon для Apache Flink эластично масштабирует приложение, чтобы его ресурсы соответствовали скорости поступления данных потока‑источника и уровню сложности запросов для большинства сценариев. Подробные сведения об ограничениях сервиса для приложений Apache Flink приведены в разделе «Ограничения» руководства разработчиков по Управляемому сервису Amazon для 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 непрерывно считывает и обрабатывает потоковые данные в реальном времени. Используя язык, поддерживаемый Apache Flink, можно создать код приложения для обработки входящих потоковых данных и получения результатов. Затем Управляемый сервис Amazon для Apache Flink записывает выходные данные в настроенные целевые объекты.
 
Каждое приложение состоит из трех основных компонентов.
 
  1. Входящие данные – источник потоковых данных для приложения. В конфигурации входящих данных сопоставляются источники потоковой передачи с потоками данных. Данные поступают из ваших источников данных в ваши потоки данных. Данные из этих потоков обрабатываются с помощью программного кода, а обработанные данные передаются в последующие потоки данных или в целевые объекты. Добавление входящих данных происходит в коде для приложений Apache Flink и блокнотов Студии, а также с помощью интерфейса API Управляемого сервиса Amazon для приложений Apache Flink. 
  2. Код приложения – последовательность операторов Apache Flink, которые обрабатывают входящие данные и формируют исходящие. В простейшем виде код приложения может состоять из одного оператора Apache Flink, который считывает данные из потока, связанного с источником потоковой передачи, и записывает в другой поток, связанный с исходящими данными. Для блокнота Студии это может быть простой запрос SQL SELECT в Flink, результаты которого отобразятся в контексте внутри блокнота. Код Apache Flink можно писать на поддерживаемых языках для приложений Управляемого сервиса Amazon для Apache Flink или блокнотов Студии.
  3. После этого можно дополнительно настроить выходные данные приложения для их сохранения во внешнем целевом объекте. Добавление исходящих данных происходит в коде приложения для Управляемого сервиса Amazon для Apache Flink и блокнотов Студии. 

Вопрос. Какой код приложений поддерживает сервис?

Управляемый сервис Amazon для Apache Flink поддерживает приложения, написанные на Java, Scala и Python, с библиотеками Apache Flink с открытым исходным кодом и вашим собственным кодом. Управляемый сервис Amazon для Apache Flink также поддерживает приложения, написанные на Java, с библиотеками Apache Beam с открытым исходным кодом и вашим собственным кодом. Управляемый сервис Amazon для Студии Apache Flink поддерживает код, созданный с использованием совместимых с Apache Flink языков: SQL, Python и Scala.

Управление приложениями

Вопрос. Как отслеживать работу и производительность приложений Управляемого сервиса Amazon для Apache Flink?
AWS предоставляет различные инструменты, которые можно использовать для наблюдения за приложениями Управляемого сервиса Amazon для Apache Flink, включая доступ к Flink Dashboard для приложений Apache Flink. Некоторые из этих инструментов можно настроить так, чтобы они осуществляли наблюдение автоматически. Дополнительные сведения о наблюдении за приложениями приведены в следующих руководствах для разработчиков: 
 

Вопрос. Как управлять и контролировать доступ к приложениям Управляемого сервиса Amazon для Apache Flink?

Управляемому сервису Amazon для Apache Flink требуются разрешения на чтение записей из потоковых источников данных, определенных для приложения. Кроме того, Управляемому сервису Amazon для Apache Flink необходимы разрешения на запись исходящих данных приложения в целевые объекты, указанные в настройках исходящих данных приложения. Эти разрешения предоставляются путем создания ролей Управления идентификацией и доступом AWS (IAM), которые может принять Управляемый сервис Amazon для Apache Flink. Разрешения, которые предоставлены для конкретной роли, определяют, что именно Управляемый сервис Amazon для Apache Flink может делать, когда он принимает эту роль. Дополнительные сведения приведены в следующих руководствах для разработчиков:

Вопрос. Как Управляемый сервис Amazon для Apache Flink масштабирует приложения?

Управляемый сервис Amazon для Apache Flink эластично масштабирует приложение, чтобы его ресурсы соответствовали скорости поступления данных потока‑источника и уровню сложности запросов для большинства сценариев. Управляемый сервис Amazon для Apache Flink выделяет ресурсы в виде KPU Amazon. Один KPU предоставляет 1 виртуальный ЦП и 4 ГБ памяти. 

Для приложений Apache Flink и блокнотов Студии Управляемый сервис Amazon для Apache Flink выделяет 50 ГБ хранилища на каждый KPU работающего приложения. Это хранилище используется приложением для создания контрольных точек, при этом доступ к нему можно получить с помощью временного диска. Контрольная точка представляет собой актуальную резервную копию работающего приложения, с помощью которой выполняется немедленное восстановление в случае сбоя приложения. Контролировать параллельное выполнение задач приложения Управляемого сервиса Amazon для Apache Flink (таких как чтение из источника данных или выполнение оператора) также можно с помощью параметров Parallelism и ParallelismPerKPU в API. Параметр Parallelism определяет число одновременно работающих инстансов задачи. У всех работающих операторов, источников и получателей данных параметр Parallelism по умолчанию имеет значение «один». Параметр ParallelismPerKPU определяет число параллельных задач, которые могут быть запланированы для каждого KPU того или иного приложения; значение по умолчанию равно «один». Дополнительные сведения приведены в разделе «Масштабирование» руководства для разработчиков по Управляемому сервису Amazon для Apache Flink. 
 
Вопрос. Какие существуют рекомендации по созданию приложений Управляемого сервиса Amazon для Apache Flink и управлению ими?
Дополнительные сведения и рекомендации по Apache Flink приведены в разделе Рекомендации руководства для разработчиков по Управляемому сервису Amazon для Apache Flink. В этом разделе приведены рекомендации по повышению отказоустойчивости и производительности, ведению журналов, написанию кода и многое другое. 
 
Дополнительные сведения и рекомендации по Управляемому сервису Amazon для Студии Apache Flink приведены в разделе «Рекомендации» руководства разработчиков по Управляемому сервису Amazon для Студии Apache Flink. Помимо рекомендаций, в этом разделе рассматриваются примеры приложений SQL, Python и Scala, требования к развертыванию кода непрерывно работающего приложения потоковой обработки, производительность, ведение журнала и многое другое.
 
Вопрос. Можно ли получить доступ к ресурсам за пределами облака Amazon VPC с помощью приложения Управляемого сервиса Amazon для Apache Flink?
Да. Вы можете получить доступ к ресурсам за пределами облака Amazon VPC. Сведения о настройке доступа к VPC для приложения приведены в разделе Использование Amazon VPC руководства для разработчиков по Управляемому сервису Amazon для Apache Flink.
 
Вопрос. Может ли одно приложение Управляемого сервиса Amazon для Apache Flink получить доступ к множеству облаков VPC?
Нет. Если указано множество подсетей, они все должны находиться в одном облаке VPC. Подключиться к другим облакам VPC можно с помощью пирингового подключения VPC.
 
Вопрос. Может ли приложение Управляемого сервиса Amazon для Apache Flink, подключенное к облаку VPC, получить доступ к Интернету и адресам сервиса AWS?
Приложения Управляемого сервиса Amazon для Apache Flink и блокноты Управляемого сервиса Amazon для Студии Apache Flink, настроенные на доступ к ресурсам в конкретном облаке VPC, по умолчанию не имеют доступа к Интернету. Сведения о настройке доступа к Интернету для приложения приведены в разделе Доступ к Интернету и сервисам руководства для разработчиков по Управляемому сервису Amazon для Apache Flink.

Цены и оплата

Вопрос. Сколько стоит Управляемый сервис Amazon для Apache Flink?
При использовании Управляемого сервиса Amazon для Apache Flink вы платите только за то, что используете. При использовании Управляемого сервиса Amazon для Apache Flink не требуется выделять ресурсы или вносить авансовые платежи. 

Оплата начисляется на почасовой основе, исходя из числа Amazon KPU, использованных при работе приложения потоковой передачи. KPU представляет собой единицу ресурса потоковой обработки, которая включает 1 виртуальный ЦП и 4 ГБ оперативной памяти. Управляемый сервис Amazon для Apache Flink автоматически масштабирует количество KPU, необходимых приложению для обработки потоков данных, по мере изменения требований к памяти и вычислительной мощности в зависимости от сложности обработки и скорости обработки потоковых данных. 
 
При оркестрации приложений Apache Flink и Apache Beam взимается дополнительная плата за единицу KPU на каждое приложение. При использовании приложений Apache Flink и Apache Beam также взимается плата за хранилище запущенного приложения и за надежные резервные копии приложения. Хранилище запущенного приложения используется для обработки данных с фиксацией состояния в Управляемом сервисе Amazon для Apache Flink и оплачивается с учетом количества ГБ в месяц. Создание постоянных резервных копий приложений (с оплатой по количеству использованных гигабайтов в месяц) предоставляется в качестве дополнительной возможности и позволяет выполнять восстановление на момент времени. 
 
В Управляемом сервисе Amazon для Apache Flink в режиме разработки или в интерактивном режиме начисляется плата за один дополнительный KPU оркестрации приложений и один KPU интерактивной разработки. Также взимается плата за работу хранилища приложений. Плата за надежные резервные копии приложений не взимается.
 
Дополнительные сведения о ценах приведены на странице цен Управляемого сервиса Amazon для Apache Flink.
 
Вопрос. Будет ли взиматься плата за приложение Управляемого сервиса Amazon для Apache Flink, которое запущено, но не обрабатывает какие‑либо данные из источника?
Для работающих приложений Apache Flink и Apache Beam в Управляемом сервисе Amazon для Apache Flink плата начисляется минимум за 2 KPU и 50 ГБ хранилища приложений.
 
Для блокнотов Управляемого сервиса Amazon для Студии Apache Flink плата начисляется минимум за 3 KPU и 50 ГБ хранилища приложений.
 
Вопрос. Помимо платы за использование Управляемого сервиса Amazon для Apache Flink, могут ли я понести какие-либо другие расходы?
Управляемый сервис Amazon для Apache Flink – это полностью управляемое решение потоковой обработки данных, которое не зависит от источников потоковых данных, откуда оно считывает данные, и целевых объектов, куда оно записывает обработанные данные. Отдельная плата будет начисляться за сервисы, из которых приложение считывает данные и в которые оно записывает данные.
 
Вопрос. Доступен ли Управляемый сервис Amazon для Apache Flink на Уровне бесплатного пользования AWS?
Нет. Управляемый сервис Amazon для Apache Flink в настоящее время недоступен на Уровне бесплатного пользования AWS.
Вопрос. Что такое Apache Flink?
Apache Flink – это платформа с открытым исходным кодом и сервис потоковой и пакетной обработки данных. Эта платформа упрощает создание приложений потоковой передачи, поскольку предоставляет мощные операторы и решает основные проблемы потоковой передачи, такие как обработка дубликатов. Apache Flink обеспечивает распределение данных, обмен данными и отказоустойчивость для выполнения распределенных вычислений над потокам данных.
 
Вопрос. Как начать разрабатывать приложения?
Сначала можно загрузить библиотеки с открытым исходным кодом, включая SDK AWS, Apache Flink и соединители для сервисов AWS. Инструкции по загрузке библиотек и созданию первого приложения приведены в руководстве для разработчиков по Управляемому сервису Amazon для Apache Flink.
 
Вопрос. Как выглядит код приложения?
В коде Apache Flink используются потоки данных и операторы для работы с ними. Потоки данных приложения – это структура данных, обработка которых выполняется с помощью кода. Данные непрерывно поступают из источников в потоки данных приложения. Для определения процедуры обработки потоков данных приложения, включающей преобразование, разделение, объединение, присоединение и определение интервала, используется один или несколько операторов потока. Потоки данных и операторы могут быть соединены в последовательные и параллельные цепочки. Небольшой пример использования псевдокода показан ниже.
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"));
Вопрос. Как использовать операторы Apache Flink?
Операторы принимают поток данных приложения в качестве входных данных и отправляют обработанные данные в поток данных приложения в качестве выходных данных. Операторы можно соединять для создания приложений с несколькими этапами обработки, при этом для их внедрения и работы не требуются глубокие знания распределенных систем.
 
Вопрос. Какие поддерживаются операторы? 
Управляемый сервис Amazon для Apache Flink поддерживает все операторы Apache Flink, которые можно использовать для решения самых разных задач, включая сопоставление, KeyBy, агрегации, окна, соединения и многое другое. Например, оператор сопоставления позволяет выполнять произвольную обработку, беря один элемент из входящего потока данных и создавая другой элемент. Оператор KeyBy логически упорядочивает данные, используя заданный ключ, позволяющий обрабатывать одинаковые точки данных вместе. Агрегирование выполняет обработку по нескольким ключам, таким как сумма, мин. и макс. Оператор Window Join объединяет два потока данных по заданному ключу и интервалу. 

Если этих операторов недостаточно для приложения, можно создать собственные операторы. Другие примеры можно найти в разделе «Операторы» руководства разработчиков по Управляемому сервису Amazon для Apache Flink. Полный список операторов Apache Flink можно найти в документации по Apache Flink
 
Вопрос. Какие типы интеграции поддерживаются в приложениях Управляемого сервиса 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 и другими системами. В примере, приведенном в документации, продемонстрировано, как читать данные из одной темы Amazon MSK и записывать в другую.
 
Вопрос. Поддерживается ли возможность настраиваемой интеграции?
Добавить источник или целевой объект в свое приложение можно с помощью набора примитивов, позволяющих осуществлять чтение из файлов, каталогов, сокетов и прочих источников, к которым можно получить доступ через Интернет, а также запись в них. Apache Flink предоставляет такие примитивы для источников данных и получателей данных. Примитивы поставляются с конфигурациями, которые позволяют осуществлять непрерывное или однократное чтение и запись данных в асинхронном или синхронном режиме, а также многое другое. Например, можно настроить приложение для непрерывного чтения данных из Amazon S3, расширив существующую интеграцию с источником на основе файлов.
 
Вопрос. Какую модель доставки и обработки предоставляют приложения Управляемого сервиса Amazon для Apache Flink?
Приложения Управляемого сервиса Amazon для Apache Flink используют модель доставки «строго однократно», если приложение построено с использованием идемпотентных операторов, включая операторы источников и получателей данных. Это означает, что обработанные данные оказывают влияние на последующие результаты один и только один раз.
 
По умолчанию приложения Управляемого сервиса Amazon для Apache Flink использует семантику Apache Flink «строго однократно». Приложение поддерживает семантику обработки «строго однократно», если это приложение создано с использованием источников, операторов и получателей данных, использующих семантику Apache Flink «строго однократно».
 
Вопрос: Можно ли получить доступ к локальному хранилищу из хранилища приложения?
Да. Управляемый сервис Amazon для Apache Flink предоставляет приложению 50 ГБ хранилища запущенных приложений на один KPU. Управляемый сервис Amazon для Apache Flink масштабирует хранилище вместе с вашим приложением. Хранилище работающего приложения используется для сохранения состояния приложения с помощью контрольных точек. Оно также доступно для использования кодом приложения в качестве временного диска для кэширования данных или для любых других целей. Управляемый сервис Amazon для Apache Flink может в любое время удалить из хранилища работающего приложения данные, которые не были сохранены с помощью контрольных точек (например, операторы, источники, получатели данных). Все данные, хранящиеся в хранилище работающих приложений, шифруются при хранении.
 
Вопрос: Как Управляемый сервис Amazon для Apache Flink выполняет автоматическое резервное копирование моего приложения?
Управляемый сервис Amazon для Apache Flink автоматически создает резервную копию состояния работающего приложения с помощью контрольных точек и снимков состояния. Контрольные точки сохраняют текущее состояние и позволяют приложениям Управляемого сервиса Amazon для Apache Flink восстанавливать его для обеспечения той же семантики, что и при бесперебойном выполнении. Контрольные точки используют хранилище работающего приложения. Контрольные точки для приложений Apache Flink предоставляются с использованием функциональных возможностей создания контрольных точек Apache Flink. Снимки состояния сохраняют точку восстановления приложений на определенный момент времени и используют надежные резервные копии приложений. Снимки состояния аналогичны точкам сохранения Flink.
 
Вопрос: Что такое снимки состояния приложения?
Снимки состояния позволяют создавать точку восстановления и восстанавливать приложение на момент времени в прошлом. Это позволяет сохранять предыдущее состояние приложения и выполнять откат приложения к этому состоянию в любое время. Сервис позволяет настроить, сколько снимков состояния (от нуля до тысяч штук) требуется хранить в любой конкретный момент времени. Для снимков состояния используются постоянные резервные копии приложения, при этом Управляемый сервис Amazon для Apache Flink взимает плату в зависимости от их размера. Управляемый сервис Amazon для Apache Flink по умолчанию шифрует данные, сохраненные в снимках состояния. Можно удалить отдельные снимки состояния с помощью интерфейса API или все снимки состояния, удалив приложение.
 
Вопрос. Какие поддерживаются версии Apache Flink?
Подробные сведения о поддерживаемых версиях Apache Flink можно узнать на странице примечаний к выпуску Управляемого сервиса Amazon для Apache Flink. На этой странице также указаны версии Apache Beam, Java, Scala, Python и SDK AWS, которые поддерживает Управляемый сервис Amazon для Apache Flink. 
 
Вопрос. Могут ли приложения Управляемого сервиса Amazon для Apache Flink запускать Apache Beam?
Да, Управляемый сервис Amazon для Apache Flink поддерживает приложения для потоковой передачи, созданные с использованием Apache Beam. Вы можете создавать потоковые приложения Apache Beam на Java и запускать их на различных механизмах и сервисах, включая использование Apache Flink с помощью Управляемого сервиса Amazon для Apache Flink. Информацию о поддерживаемых версиях Apache Flink и Apache Beam можно найти в руководстве для разработчиков по Управляемому сервису 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

Посетить страницу цен на Kinesis Data Analytics
Расчет стоимости

Посетите страницу цен Аналитики данных Amazon Kinesis.

Read the documentation
Ознакомиться с руководством по началу работы

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

Начать разработку в консоли
Разработка приложений потоковой передачи

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