Créez des pipelines de streaming de bout en bout avec le service géré pour les plans Apache Flink en un seul clic. En savoir plus.
Généralités
L'analyse interactive vous permet de diffuser des données en temps réel. À l'aide de requêtes ou de programmes ponctuels, vous pouvez inspecter les flux à partir d'Amazon MSK ou Amazon Kinesis Data Streams et visualiser l'apparence des données dans ces flux. Par exemple, vous pouvez visualiser le comportement d'une métrique en temps réel qui calcule la moyenne sur une fenêtre de temps et envoyer les données agrégées vers une destination de votre choix. L'analyse interactive facilite également le développement itératif des applications de traitement des flux. Les requêtes que vous créez sont mises à jour en permanence à mesure que de nouvelles données arrivent. Grâce au service géré Amazon pour Apache Flink Studio, vous pouvez déployer ces requêtes pour qu'elles s'exécutent en permanence avec l'autoscaling et les sauvegardes d'état durables activés.
Démarrer
Le service géré Amazon pour Apache Flink met à l'échelle votre application de manière extensible pour s'adapter au débit de données de votre flux source et à la complexité de vos requêtes dans la plupart des scénarios. Pour obtenir des informations détaillées sur les limites de service pour les applications Apache Flink, consultez la section Limites dans le guide du développeur du service géré Amazon pour Apache Flink.
Oui, à l'aide de connecteurs Apache Flink DataStream, les applications du service géré Amazon pour Apache Flink peuvent utiliser AWS Glue Schema Registry, une fonctionnalité sans serveur d'AWS Glue. Vous pouvez intégrer Apache Kafka, Amazon MSK et Amazon Kinesis Data Streams à vos charges de travail du service géré Amazon pour Apache Flink en tant que récepteur ou source. Consultez le Guide du développeur d'AWS Glue Schema Registry pour démarrer et en savoir plus.
Concepts clés
- Entrée : L'entrée est la source de streaming de votre application. Dans la configuration d'entrée, vous mappez les sources de streaming aux flux de données. Les données circulent de vos sources de données vers vos flux de données. Les données de ces flux de données intégrés sont traités à l'aide de votre code d'application, en envoyant les données traitées aux flux ou destinations de données intégrés suivants. Vous ajoutez les données entrantes dans le code des applications Apache Flink et les blocs-notes Studio et via l'API pour les applications du service géré Amazon pour Apache Flink.
- Code d'application : Le code d'application est une suite d'opérateurs Apache Flink qui traitent les entrées et génèrent des sorties. Dans sa forme la plus simple, le code d'application peut être un simple opérateur Apache Flink qui lit un flux de données associé à une source de streaming, puis écrit dans un autre flux de données associé à une sortie. Pour un bloc-notes Studio, il peut s'agir d'une simple requête SQL Flink, dont les résultats sont affichés en contexte dans le bloc-notes. Vous pouvez écrire du code Apache Flink dans les langues prises en charge pour les applications du service géré Amazon pour Apache Flink ou les blocs-notes Studio.
- Sortie : Vous pouvez ensuite configurer en option la sortie d'une application afin que les données soient conservées dans une destination externe. Vous devez ajouter ces sorties dans le code des applications du service géré Amazon pour Apache Flink et des blocs-notes Studio.
Q : Quel code d'application est pris en charge ?
Gestion des applications
- Surveillance du service géré Amazon pour Apache Flink dans le guide du développeur du service géré Amazon pour Apache Flink.
- Surveillance du service géré Amazon pour Apache Flink dans le guide du développeur du service géré Amazon pour Apache Flink Studio.
Q : Comment gérer et contrôler l'accès à mes applications du service géré Amazon pour Apache Flink ?
- Octroi d'autorisations dans le guide du développeur du service géré Amazon pour Apache Flink.
- Octroi d'autorisations dans le guide du développeur du service géré Amazon pour Apache Flink Studio.
Q : Comment le service géré Amazon pour Apache Flink peut-il mettre à l'échelle mon application ?
Le service géré Amazon pour Apache Flink met à l'échelle votre application de manière extensible pour s'adapter au débit de données de votre flux source et à la complexité de vos requêtes dans la plupart des scénarios. Le service géré Amazon pour Apache Flink fournit de la capacité sous la forme de KPU Amazon. Une unité KPU vous fournit 1 vCPU et 4 Go de mémoire.
Tarification et facturation
Vous êtes facturé à l'heure en fonction du nombre d'unités KPU Amazon utilisées pour exécuter votre application de streaming. Une unité KPU est une unité de capacité de traitement des flux comprenant 1 vCPU de calcul et 4 Go de mémoire. Le service géré Amazon pour Apache Flink met automatiquement à l'échelle le nombre de KPU requises par votre application de traitement des flux, car les besoins en mémoire et en calcul varient en fonction de la complexité de traitement et du débit des données de streaming traitées.
Création d'applications Apache Flink
Création du code pour les applications en utilisant Apache Flink dans votre 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"));
Vous pouvez créer des opérateurs personnalisés si ceux fournis ne répondent pas à vos besoins. La section relative aux opérateurs dans le guide du développeur du service géré Amazon pour Apache Flink contient d'autres exemples. Vous pouvez consulter la liste complète des opérateurs Apache Flink dans la documentation Apache Flink.
- Sources de données de streaming : Amazon Managed Streaming for Apache Kafka (Amazon MSK), destinations Amazon Kinesis Data Streams, ou récepteurs : Amazon Kinesis Data Streams
- Amazon Kinesis Data Firehose, Amazon DynamoDB, Amazon Elasticsearch Service et Amazon S3 (via les intégrations de récepteurs de fichier)
Q : Les applications du service géré Amazon pour Apache Flink peuvent-elles répliquer des données entre des flux et des rubriques ?
Création d'applications du service géré Amazon pour Apache Flink Studio dans un bloc-notes géré
Q : Comment développer une application Studio ?
Vous pouvez démarrer à partir des consoles du service géré Amazon pour Apache Flink Studio, Amazon Kinesis Data Streams ou Amazon MSK en quelques étapes pour lancer un bloc-notes sans serveur afin d'interroger immédiatement les flux de données et d'effectuer une analytique des données interactive.
Analytique des données interactive : dans le bloc-notes, vous pouvez écrire du code en SQL, Python ou Scala pour interagir avec vos données de streaming, avec des temps de réponse aux requêtes de quelques secondes. Vous pouvez utiliser les visualisations intégrées pour explorer les données et afficher des informations en temps réel sur vos données de streaming à partir de votre bloc-notes et développer des applications de traitement des flux optimisées par Apache Flink.
Une fois que votre code est prêt à être exécuté en tant qu'application de production, vous pouvez passer en une seule étape à une application de traitement des flux qui traite plusieurs gigaoctets de données par seconde, sans serveur.
Application de traitement des flux : une fois que vous êtes prêt à mettre votre code en production, vous pouvez le développer en cliquant sur « Déployer comme application de traitement des flux » dans l'interface du bloc-notes ou en lançant une simple commande dans la CLI. Studio prend en charge toute la gestion de l'infrastructure nécessaire pour que vous puissiez exécuter votre application de traitement des flux à l'échelle, avec un autoscaling et un état durable activés, comme dans une application du service géré Amazon pour Apache Flink.
Q : À quoi ressemble le code d'application ?
Vous pouvez écrire du code dans votre langage préféré de SQL, Python ou Scala au moyen de l'API Table d'Apache Flink. L'API Table est une abstraction de haut niveau et une API relationnelle qui prend en charge un sur-ensemble de capacités de SQL. Elle offre des opérations familières telles que select, filter, join, group by, aggregate, etc., ainsi que des concepts spécifiques aux flux comme le fenêtrage. Vous devez utiliser % pour spécifier le langage à utiliser dans une section du bloc-notes et vous pouvez passer d'un langage à l'autre. Les interprètes sont des plug-ins Apache Zeppelin. Vous pouvez donc spécifier un langage ou un moteur de traitement de données pour chaque section du bloc-notes. Vous pouvez également créer des fonctions définies par l'utilisateur et les référencer pour améliorer la fonctionnalité du code.
Q : Quelles opérations SQL sont prises en charge ?
Vous pouvez effectuer des opérations SQL telles que les suivantes :
- Numériser et filtrer (SELECT, WHERE)
- Agrégations (GROUP BY, GROUP BY WINDOW, HAVING)
- Ensemble (UNION, UNIONALL, INTERSECT, IN, EXISTS)
- Commande (ORDER BY, LIMIT)
- Jointures (INNER, OUTER, Timed Window — BETWEEN, AND, Jointure avec des tables temporelles — tables qui suivent les modifications au fil du temps)
- Top-N
- Déduplication
- Reconnaissance des patrons
Certaines de ces requêtes, telles que GROUP BY, OUTER JOIN et Top-N, sont des mises à jour de résultats pour les données de streaming, ce qui signifie que les résultats sont mis à jour en permanence au fur et à mesure du traitement des données de streaming. D'autres instructions DDL telles que CREATE, ALTER et DROP sont également prises en charge. Pour obtenir la liste complète des requêtes et des exemples, consultez la documentation des requêtes Apache Flink.
Q : Comment Python et Scala sont-ils pris en charge ?
L'API Table d'Apache Flink prend en charge Python et Scala par l'intégration de langages utilisant des chaînes Python et des expressions Scala. Les opérations prises en charge sont très semblables aux opérations SQL prises en charge, notamment select, order, group, join, filter et le fenêtrage. Vous pouvez trouver une liste complète des opérations et des exemples dans notre guide du développeur.
Q : Quelles versions d'Apache Flink et d'Apache Zeppelin sont prises en charge ?
Pour en savoir plus sur les versions Apache Flink prises en charge, consultez la page des notes de mise à jour du service géré Amazon pour Apache Flink. Cette page comprend également les versions d'Apache Zeppelin, d'Apache Beam, de Java, de Scala, de Python et des kits SDK AWS que le service géré Amazon pour Apache Flink prend en charge.
Q : Quelles sont les intégrations prises en charge par défaut dans une application du service géré Amazon pour Apache Flink Studio ?
- Sources de données : Amazon Managed Streaming for Apache Kafka (Amazon MSK), Amazon Kinesis Data Streams, Amazon S3
- Destinations ou récepteurs : Amazon MSK, Amazon Kinesis Data Streams et Amazon S3
Q : Les intégrations personnalisées sont-elles prises en charge ?
Vous pouvez configurer des intégrations supplémentaires en quelques étapes et des lignes de code Apache Flink (Python, Scala ou Java) supplémentaires pour définir des connexions avec toutes les intégrations prises en charge par Apache Flink. Les destinations concernées comprennent Amazon OpenSearch Service, Amazon ElastiCache for Redis, Amazon Aurora, Amazon Redshift, Amazon DynamoDB, Amazon Keyspaces et bien d'autres encore. Vous pouvez attacher des exécutables pour ces connecteurs personnalisés lorsque vous créez ou configurez votre application du service géré Amazon pour Apache Flink.
Contrat de niveau de service
Q : Quelles sont les garanties du contrat de niveau de service (SLA) du service géré Amazon pour Apache Flink ?
Notre contrat de niveau de service (SLA) garantit un pourcentage de disponibilité mensuel d'au moins 99,9 % pour le service géré Amazon pour Apache Flink.
Q : Comment savoir si je peux bénéficier d'un crédit de service au titre du contrat de niveau de service (SLA) ?
Vous pouvez bénéficier d'un crédit de service au titre du contrat de niveau de service (SLA) pour le service géré Amazon pour Apache Flink dans le cadre du contrat de niveau de service (SLA) relatif au service géré Amazon pour Apache Flink si plusieurs zones de disponibilité dans lesquelles vous exécutez une tâche dans la même région AWS ont un pourcentage de temps de fonctionnement mensuel inférieur à 99,9 % pendant un cycle de facturation mensuel. Pour consulter l'intégralité des conditions générales du contrat de niveau de service (SLA) et en savoir plus sur la marche à suivre pour soumettre une réclamation, consultez la page de présentation du contrat de niveau de service (SLA) du service géré Amazon pour Apache Flink.
Démarrer avec Amazon Kinesis Data Analytics
Consultez la page de tarification d'Amazon Kinesis Data Analytics.
Créez votre première application de streaming à partir de la console Amazon Kinesis Data Analytics.