Généralités

Q : Qu'est-ce que le service géré Amazon pour Apache Flink ?
Avec le service géré Amazon pour Apache Flink, vous pouvez transformer et analyser les données de streaming en temps réel avec Apache Flink. Apache Flink est un cadre open source et un moteur permettant de traiter des flux de données. Le service géré Amazon pour Apache Flink simplifie la création, la gestion et l'intégration d'applications Apache Flink à d'autres services AWS.
 
Le service géré Amazon pour Apache Flink s'occupe de toutes les opérations nécessaires pour exécuter des applications de streaming en permanence et assure une mise à l'échelle automatique en fonction du volume et du débit de vos données entrantes. Avec le service géré Amazon pour Apache Flink, il n'y a pas de serveur à gérer, pas de frais minimums et pas coût de configuration. Vous ne payez que les ressources utilisées par vos applications de streaming.
 
Q : En quoi consiste le traitement des flux en temps réel et pourquoi en ai-je besoin ?
Les entreprises ingèrent des données plus rapidement que jamais en raison de la croissance explosive des sources de données en temps réel. Que vous traitiez des données de journal provenant d'applications mobiles et web, des données d'achat provenant de plateformes de commerce électronique ou des données de capteur provenant d'appareils IoT, l'ingestion de données en temps réel vous aide à apprendre ce que vos clients, votre organisation et votre entreprise font en ce moment même.
 
Q : Que puis-je faire avec le service géré Amazon pour Apache Flink ?
Les cas d'utilisation du service géré Amazon pour Apache Flink sont nombreux, pour traiter les données en permanence afin d'obtenir des informations en quelques secondes ou minutes, sans devoir attendre plusieurs jours ou semaines. Le service géré Amazon pour Apache Flink vous permet de créer rapidement des applications de traitement des flux de bout en bout pour l'analytique des journaux et des parcours de navigation, l'Internet des objets (IoT), les technologies publicitaires, les jeux et bien plus encore. Les quatre cas d'utilisation les plus courants sont les processus ETL (extract-transform-load) de streaming, la génération de métriques en continu, l'analyse réactive en temps réel et l'interrogation interactive des flux de données.
 
ETL de streaming
Grâce aux applications d'ETL de streaming, vous pouvez nettoyer, enrichir, organiser et transformer les données brutes avant le chargement de votre lac de données ou entrepôt des données en temps réel. Cela réduit ou élimine les étapes d'ETL par lots. Ces applications peuvent placer en mémoire tampon de petits enregistrements dans des fichiers plus volumineux avant la livraison et réaliser des jointures complexes dans les flux et les tables. Par exemple, vous pouvez créer une application qui lit en permanence les données de capteur IoT stockées dans Amazon Managed Streaming for Apache Kafka (Amazon MSK), organiser les données par type de capteur, supprimer les données en double, normaliser les données selon un schéma spécifique, puis transmettre les données à Amazon Simple Storage Service (Amazon S3).
 
Génération de métriques en permanence
Grâce aux applications de génération de métriques en permanence, vous pouvez surveiller et comprendre les tendances de vos données au fil du temps. Vos applications peuvent agréger les données de streaming sous forme d'informations critiques et les intégrer sans interruption à des bases de données de génération de rapports et à des services de surveillance afin de traiter vos applications et utilisateurs en temps réel. Avec le service géré Amazon pour Apache Flink, vous pouvez utiliser le code Apache Flink (en Java, Scala, Python ou SQL) pour générer en permanence des analyses de séries chronologiques sur des fenêtres temporelles. Par exemple, vous pouvez concevoir un classement en direct pour un jeu sur appareil mobile en déterminant toutes les minutes les meilleurs joueurs et en l'envoyant à Amazon DynamoDB par la suite. Vous pouvez également suivre le trafic de votre site web en calculant toutes les 5 minutes le nombre de visiteurs uniques et en envoyant les résultats traités à Amazon Redshift.
 
Analytique de réactivité en temps réel
Les applications d'analytique de réactivité en temps réel envoient des alarmes ou des notifications en temps réel lorsque certaines métriques atteignent des seuils prédéfinis ou, dans les cas les plus avancés, lorsque votre application détecte des anomalies à l'aide d'algorithmes de machine learning (ML). Grâce à ces applications, vous pouvez réagir aux évolutions de votre entreprise en temps réel, par exemple en anticipant l'abandon des utilisateurs dans les applications mobiles et en identifiant les systèmes dégradés. Par exemple, une application peut déterminer la disponibilité ou le taux de réussite d'une API destinée aux clients au fil du temps, puis envoyer les résultats à Amazon CloudWatch. Vous pouvez créer une autre application pour rechercher des événements qui répondent à certains critères, puis avertir automatiquement les clients appropriés à l'aide d'Amazon Kinesis Data Streams et d'Amazon Simple Notification Service (Amazon SNS).
 
Analyse interactive des flux de données
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

Q : Comment démarrer avec les applications Apache Flink pour le service géré Amazon pour Apache Flink ?
Connectez-vous à la console du service géré Amazon pour Apache Flink et créez une nouvelle application de traitement des flux. Vous pouvez également utiliser l'AWS CLI et les kits SDK AWS. Une fois que vous avez créé une application, accédez à votre environnement de développement intégré préféré, connectez-vous à AWS et installez les bibliothèques open source Apache Flink et les kits SDK AWS dans le langage de votre choix. Apache Flink est un cadre et un moteur open source pour le traitement des flux de données et des kits SDK AWS. Les bibliothèques extensibles comprennent plus de 25 opérateurs de traitement des flux prédéfinis, tels que window et aggregate et des intégrations de services AWS comme Amazon MSK, Amazon Kinesis Data Streams, Amazon DynamoDB et Amazon Kinesis Data Firehose. Une fois créé, chargez votre code sur le service géré Amazon pour Apache Flink. Le service prend en charge toutes les opérations nécessaires à l'exécution en permanence de vos applications en temps réel, y compris la mise à l'échelle automatique en fonction du volume et du débit de vos données entrantes. 
 
Q : Comment démarrer avec les applications Apache Beam pour le service géré Amazon pour Apache Flink ?
L'utilisation d'Apache Beam pour créer une application du service géré Amazon pour Apache Flink est un processus semblable au démarrage avec Apache Flink. Vous pouvez suivre les instructions de la question ci-dessus. Assurez-vous d'installer tous les composants nécessaires à l'exécution des applications sur Apache Beam, en suivant les instructions du guide du développeur. Notez que le service géré Amazon pour Apache Flink prend en charge le kit SDK Java uniquement lorsqu'il est exécuté sur Apache Beam. 
 
Q : Comment démarrer avec le service géré Amazon pour Apache Flink Studio ?
Vous pouvez démarrer à partir de la console du service géré Amazon pour Apache Flink et créer un nouveau bloc-notes Studio. Une fois le bloc-notes lancé, vous pouvez l'ouvrir dans Apache Zeppelin pour écrire immédiatement du code en SQL, Python ou Scala. Vous pouvez développer des applications de manière interactive en utilisant l'interface de bloc-notes pour Amazon Kinesis Data Streams, Amazon MSK et Amazon S3 à travers les intégrations intégrées et d'autres sources et destinations prises en charge par Apache Flink avec des connecteurs personnalisés. Vous pouvez utiliser tous les opérateurs pris en charge par Apache Flink dans Flink SQL et l'API Table pour effectuer des requêtes de flux de données ponctuelles et pour développer votre application de traitement des flux. Une fois que vous êtes prêt, vous pouvez créer et transformer votre code en une application de traitement des flux en cours d'exécution en permanence avec autoscaling et état durable en quelques étapes. 
 
Q : Quelles sont les limites du service géré Amazon pour Apache Flink ?
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. 
 
Q : Le service géré Amazon pour Apache Flink prend-il en charge l'enregistrement de schémas ?
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

Q : Qu'est-ce qu'une application de service géré Amazon pour Apache Flink ?
Une application est l'entité du service géré Amazon pour Apache Flink avec laquelle vous travaillez. Les applications du service géré Amazon pour Apache Flink lisent et traitent en permanence des données de streaming en temps réel. Vous écrivez le code de l'application dans un langage pris en charge par Apache Flink pour traiter les données de streaming entrantes et générer la sortie. Ensuite, le service géré Amazon pour Apache Flink écrit la sortie vers une destination configurée.
 
Chaque application comprend trois composants principaux :
 
  1. 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. 
  2. 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.
  3. 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 ?

Le service géré Amazon pour Apache Flink prend en charge les applications créées à l'aide de Java, Scala et Python avec les bibliothèques open source Apache Flink et votre propre code personnalisé. Le service géré Amazon pour Apache Flink prend également en charge les applications créées à l'aide de Java avec les bibliothèques open source Apache Beam et votre propre code client. Le service géré Amazon pour Apache Flink Studio prend en charge le code créé à l'aide de SQL, Python et Scala compatibles avec Apache Flink.

Gestion des applications

Q : Comment puis-je surveiller les opérations et les performances de mes applications du service géré Amazon pour Apache Flink ?
AWS vous fournit divers outils que vous pouvez utiliser pour surveiller vos applications du service géré Amazon pour Apache Flink, y compris l'accès aux applications Flink Dashboard for Apache Flink. Vous pouvez configurer certains de ces outils afin qu'ils surveillent vos applications pour vous. Pour plus d'informations sur la surveillance de vos applications, consultez les guides du développeur suivants : 
 

Q : Comment gérer et contrôler l'accès à mes applications du service géré Amazon pour Apache Flink ?

Le service géré Amazon pour Apache Flink a besoin d'autorisations pour lire les registres provenant des sources de données de streaming que vous indiquez dans l'application. Le service géré Amazon pour Apache Flink a également besoin d'autorisations pour écrire la sortie de votre application sur des destinations que vous spécifiez dans la configuration de la sortie de l'application. Vous pouvez accorder ces autorisations en créant des rôles AWS Identity and Access Management (IAM) que le service géré Amazon pour Apache Flink peut assumer. Les autorisations accordées à ce rôle déterminent les tâches que le service géré Amazon pour Apache Flink peut effectuer lorsqu'il assume le rôle. Pour plus d'informations, consultez les guides du développeur suivants :

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. 

Pour les applications Apache Flink et les blocs-notes Studio, le service géré Amazon pour Apache Flink attribue 50 Go de stockage d'applications en cours d'exécution par KPU, que votre application utilise pour les points de contrôle et que vous pouvez utiliser par le biais d'un disque temporaire. Un point de contrôle est une sauvegarde à jour d'une application n cours d'exécution qui permet une récupération immédiate à la suite d'une interruption de l'application. Vous pouvez également contrôler l'exécution parallèle des tâches d'application du service géré Amazon pour Apache Flink (par exemple, la lecture à partir d'une source ou l'exécution d'un opérateur) à l'aide des paramètres Parallelism et ParallelismPerKPU dans l'API. Parallelism (Parallélisme) définit le nombre d'instances simultanées d'une tâche. L'ensemble des opérateurs, des sources et des récepteurs s'exécutent avec un parallélisme défini (par défaut, un). Parallelism per KPU (Parallelism par KPU) définit le nombre de tâches parallèles qui peuvent être programmées par KPU dans votre application (par défaut, une). Pour plus d'informations, consultez Mise à l'échelle dans le guide du développeur du service géré Amazon pour Apache Flink. 
 
Q : Quelles sont les meilleures pratiques associées à la création et à la gestion de mes applications du service géré Amazon pour Apache Flink ?
Pour plus d'informations sur les bonnes pratiques pour Apache Flink, consultez la section Bonnes pratiques du guide du développeur du service géré Amazon pour Apache Flink. Cette section est consacrée aux bonnes pratiques en matière de tolérance aux pannes, de performances, de journalisation, de codage, etc. 
 
Pour plus d'informations sur les bonnes pratiques relatives au service géré Amazon pour Apache Flink Studio, consultez la section Bonnes pratiques du guide du développeur du service géré Amazon pour Apache Flink Studio. Outre les bonnes pratiques, cette section couvre des exemples pour les applications SQL, Python et Scala, les conditions requises pour déployer le code en tant qu'application de traitement des flux en cours d'exécution, les performances, la journalisation, etc.
 
Q : Puis-je accéder aux ressources derrière un Amazon VPC avec une application du service géré Amazon pour Apache Flink ?
Oui. Vous pouvez accéder à des ressources derrière un Amazon VPC. Pour apprendre à configurer votre application pour l'accès VPC, consultez la section Utilisation d'un Amazon VPC dans le guide du développeur du service géré Amazon pour Apache Flink.
 
Q : Une seule application du service géré Amazon pour Apache Flink peut-elle avoir accès à plusieurs VPC ?
Non. Si plusieurs sous-réseaux sont spécifiés, ils doivent tous se trouver dans le même VPC. Vous pouvez vous connecter à d'autres VPC en appairant vos VPC.
 
Q : Une application du service géré Amazon pour Apache Flink connectée à un VPC peut-elle accéder à Internet et aux points de terminaison d'un service AWS ?
Les applications du service géré Amazon pour Apache Flink et des blocs-notes du service géré Amazon pour Apache Flink Studio configurés pour accéder aux ressources au sein d'un VPC particulier ne peuvent pas, par défaut, accéder à Internet. Pour savoir comment configurer l'accès à Internet pour votre application, consultez la section Internet et accès aux services dans le guide du développeur du service géré Amazon pour Apache Flink.

Tarification et facturation

Q : Combien coûte le service géré Amazon pour Apache Flink ?
Avec le service géré Amazon pour Apache Flink, vous payez uniquement ce que vous consommez. Aucune ressource à allouer ou aucun coût initial ne s'applique au service géré Amazon pour Apache Flink. 

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. 
 
Pour les applications Apache Flink et Apache Beam, une seule unité KPU supplémentaire par application vous est facturée pour l'orchestration des applications. Le stockage d'applications en cours d'exécution et les sauvegardes d'applications durables sont également facturés pour les applications Apache Flink et Apache Beam. Le stockage d'applications en cours d'exécution est utilisé pour les capacités de traitement dynamique dans le service géré Amazon pour Apache Flink et facturé par Go/mois. Les sauvegardes d'applications durables sont facultatives, facturées en Go par mois et assurent un point de restauration ponctuelle pour les applications. 
 
Pour le service géré Amazon pour Apache Flink Studio, en mode développement ou interactif, une KPU supplémentaire vous est facturée pour l'orchestration des applications et une autre KPU, pour le développement interactif. Vous êtes également facturé pour le stockage d'applications en cours d'exécution. Les sauvegardes durables des applications ne vous sont pas facturées.
 
Pour plus d'informations sur les tarifs, consultez la page de tarification du service géré Amazon pour Apache Flink.
 
Q : Suis-je facturé pour une application du service géré Amazon pour Apache Flink qui s'exécute mais ne traite aucune donnée provenant de la source ?
Pour les applications Apache Flink et Apache Beam, un minimum 2 KPU et 50 Go de stockage d'applications en cours d'exécution vous sont facturées si votre application du service géré Amazon pour Apache Flink est en cours d'exécution.
 
Pour les blocs-notes du service géré Amazon pour Apache Flink Studio, un minimum de 3 KPU et 50 Go de stockage d'applications en cours d'exécution vous sont facturées si votre application est en cours d'exécution.
 
Q : Outre les coûts du service géré Amazon pour Apache Flink, y a-t-il d'autres coûts que je pourrais encourir ?
Le service géré Amazon pour Apache Flink est une solution de traitement des flux entièrement gérée, indépendante de la source de streaming depuis laquelle elle lit les données et des destinations sur lesquelles elle écrit les données traitées. Vous êtes facturé indépendamment pour les services qui lisent et qui écrivent des données dans votre application.
 
Q : Le service géré Amazon pour Apache Flink est-il disponible dans l'offre gratuite d'AWS ?
Non. Le service géré Amazon pour Apache Flink n'est actuellement pas disponible dans l'offre gratuite d'AWS.
Q : Qu'est-ce qu'Apache Flink ?
Apache Flink est un cadre et un moteur open source pour le traitement de données de flux et par lots. Il simplifie la création des applications de streaming, car il fournit de puissants opérateurs et résout les principaux problèmes de streaming, comme le traitement en double. Apache Flink offre des fonctions de distribution de données, de communication et de tolérance aux pannes pour les calculs distribués sur les flux de données.
 
Q : Comment puis-je développer des applications ?
Vous pouvez commencer par télécharger les bibliothèques open source qui contiennent le kit SDK AWS, Apache Flink et les connecteurs des services AWS. Consultez le guide du développeur du service géré Amazon pour Apache Flink pour savoir comment télécharger les bibliothèques et créer votre première application.
 
Q : À quoi ressemble le code d'application ?
Vous écrivez le code Apache Flink de votre application à l'aide de flux de données et d'opérateurs de flux. Les flux de données d’application constituent la structure de données sur laquelle vous effectuez le traitement avec votre code. Les données circulent en continu dans les flux de données d'application depuis les sources. Un ou plusieurs opérateurs de flux sont utilisés pour définir le traitement dans les flux de données d'application, y compris la transformation, la partition, l'agrégation, la jointure et la fenêtre. Les flux de données et les opérateurs peuvent être connectés en série et en chaînes parallèles. Vous trouverez ci-dessous un court exemple de code fictif.
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"));
Q : Comment puis-je utiliser les opérateurs Apache Flink ?
Les opérateurs prennent un flux de données d'application comme entrée et envoient les données traitées vers un flux de données d'application comme sortie. Vous pouvez connecter des opérateurs pour créer des applications à plusieurs étapes. Leur implémentation et leur utilisation ne requièrent pas de connaissances avancées sur les systèmes distribués.
 
Q : Quels sont les opérateurs pris en charge ?
Le service géré Amazon pour Apache Flink prend en charge tous les opérateurs d'Apache Flink qui peuvent être utilisés pour résoudre une grande variété de cas d'utilisation, notamment les applications map, KeyBy, les agrégations, les fenêtres, les jointures, etc. Par exemple, l'opérateur map vous permet d'effectuer un traitement arbitraire, en prenant un élément dans un flux de données entrant et en produisant un autre élément. KeyBy organise les données de manière logique à l'aide d'une clé spécifiée, afin que vous puissiez regrouper le traitement des points de données similaires. Les agrégations exécutent le traitement dans plusieurs clés (somme, minimum et maximum). Window Join joint deux flux de données sur une clé et une fenêtre spécifiées. 

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
 
Q : Quelles sont les intégrations prises en charge dans une application du service géré Amazon pour Apache Flink ?
Vous pouvez configurer des intégrations prédéfinies fournies par Apache Flink avec un minimum de code ou bien créer votre propre intégration pour vous connecter à pratiquement toutes les sources de données. Les bibliothèques open source basées sur Apache Flink prennent en charge des sources et des destinations de streaming, ou récepteurs, pour la livraison des données traitées. Cela comprend également la prise en charge de l'enrichissement des données à travers des connecteurs d'E/S asynchrones. Certains de ces connecteurs sont les suivants :
 
  • 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 ?

Oui. Vous pouvez utiliser les applications du service géré Amazon pour Apache Flink pour répliquer des données entre Amazon Kinesis Data Streams, Amazon MSK et d'autres systèmes. Un exemple fourni dans notre documentation indique comment lire une rubrique Amazon MSK et écrire dans une autre.
 
Q : Les intégrations personnalisées sont-elles prises en charge ?
Vous pouvez ajouter une source ou une destination à votre application en vous appuyant sur un ensemble de primitives qui vous permettent de réaliser des opérations de lecture et d'écriture à partir de fichiers, de répertoires, d'interfaces de connexion ou de tout autre élément accessible sur Internet. Apache Flink fournit ces primitives pour les sources de données et les récepteurs de données. Les primitives incluent des configurations, comme la capacité de lire et écrire des données de manière continue ou ponctuelle, asynchrone ou synchrone, et bien plus encore. Par exemple, vous pouvez configurer une application pour lire en permanence les données d'Amazon S3 en étendant l'intégration source existante basée sur les fichiers.
 
Q : Quels sont les modèles de livraison et de traitement proposés par le service géré Amazon pour Apache Flink ?
Les applications Apache Flink du service géré Amazon pour Apache Flink utilisent un modèle de livraison unique si une application est créée à l'aide d'opérateurs idempotents, y compris des sources et des récepteurs. Cela signifie que les données traitées influent sur les résultats en aval une seule fois.
 
Par défaut, les applications du service géré Amazon pour Apache Flink utilisent la sémantique de traitement unique d'Apache Flink. Votre application prend en charge la sémantique de traitement unique si vous concevez vos applications à l'aide de sources, d'opérateurs et de récepteurs qui utilisent la sémantique de traitement unique d'Apache Flink
 
Q : Ai-je accès au stockage local depuis le stockage de mon application ?
Oui. Les applications du service géré Amazon pour Apache Flink fournissent à votre application 50 Go de stockage d'applications en cours d'exécution par KPU. Le service géré Amazon pour Apache Flink met à l'échelle le stockage en fonction de votre application. Le stockage d'applications en cours d'exécution sert à enregistrer l'état de l'application à l'aide de points de contrôle. Votre code d'application peut également y accéder et l'utiliser comme disque temporaire pour la mise en cache de données ou à toute autre fin. Le service géré Amazon pour Apache Flink peut supprimer des données du stockage d'applications en cours d'exécution qui n'ont pas été enregistrées à l'aide de points de contrôle (par exemple, des opérateurs, des sources, des récepteurs) à tout moment. Toutes les données placées dans le stockage d'applications en cours d'exécution sont chiffrées au repos.
 
Q : Comment le service géré Amazon pour Apache Flink sauvegarde-t-il automatiquement mon application ?
Le service géré Amazon pour Apache Flink sauvegarde automatiquement l'état de vos applications en cours d'exécution à l'aide de points de contrôle et d'instantanés. Les points de contrôle enregistrent l'état actuel de l'application et permettent aux applications du service géré Amazon pour Apache Flink de récupérer la position de l'application afin de fournir la même sémantique qu'une exécution sans échec. Les points de contrôle utilisent le stockage d'applications en cours d'exécution. Les points de contrôle des applications Apache Flink sont fournis à travers la fonctionnalité de points de contrôle d'Apache Flink. Les instantanés utilisent un point de récupération ponctuel pour les applications et utilisent des sauvegardes d'applications durables. Les instantanés sont analogues aux points de sauvegarde Flink.
 
Q : Que sont les instantanés d'application ?
Avec les instantanés, vous pouvez créer votre application et la restaurer à un instant précis. Vous pouvez donc conserver un état précédent de l'application et la restaurer à tout moment. Vous contrôlez le nombre d'instantanés que vous avez à tout moment, de zéro à des milliers d'instantanés. Les instantanés utilisent les sauvegardes d'application durables et le service géré Amazon pour Apache Flink vous facture en fonction de leur taille. Le service géré Amazon pour Apache Flink chiffre les données enregistrées dans les instantanés par défaut. Vous pouvez supprimer des instantanés individuels via l'API ou tous les instantanés en supprimant l'application.
 
Q : Quelles sont les versions d'Apache Flink 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 Beam, de Java, Scala, de Python et des kits SDK AWS que le service géré Amazon pour Apache Flink prend en charge. 
 
Q : Les applications du service géré Amazon pour Apache Flink peuvent-elles exécuter Apache Beam ?
Oui, le service géré Amazon pour Apache Flink prend en charge les applications de streaming créées à l'aide d' Apache Beam. Vous pouvez créer des applications de streaming Apache Beam en Java et les exécuter dans différents moteurs et services, notamment en utilisant Apache Flink du service géré Amazon pour Apache Flink. Vous trouverez des informations concernant les versions prises en charge d'Apache Flink et d'Apache Beam dans le guide du développeur du service géré Amazon pour Apache Flink

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 de Kinesis&nbsp;Data&nbsp;Analytics
Calculez vos coûts

Consultez la page de tarification d'Amazon Kinesis Data Analytics.

Read the documentation
Consultez le guide de mise en route

Découvrez comment utiliser Amazon Kinesis Data Analytics dans ce guide étape par étape concernant SQL ou Java.

Commencez &agrave; cr&eacute;er dans la console
Commencez à créer des applications de streaming

Créez votre première application de streaming à partir de la console Amazon Kinesis Data Analytics.