Questions d'ordre général

Q : Qu'est-ce qu'Amazon Kinesis Data Analytics ?
Amazon Kinesis Data Analytics est le moyen le plus simple de transformer et d'analyser les données de streaming en temps réel avec Apache Flink. Apache Flink est un cadre et un moteur open source permettant de traiter des flux de données. Kinesis Data Analytics simplifie la création, la gestion et l'intégration des applications Apache Flink dans d'autres services AWS.
 
Kinesis Data Analytics s'occupe de toutes les opérations nécessaires pour exécuter vos applications de streaming en continu et assure une mise à l'échelle automatique en fonction du volume et du débit des données entrantes. Avec Kinesis Data Analytics, il n'y a aucun serveur à gérer, aucuns frais minimums et aucun 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 d'e-commerce 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 Kinesis Data Analytics ?
Les cas d'utilisation de Kinesis Data Analytics sont nombreux, pour traiter les données en continu afin d'obtenir des informations en quelques secondes ou minutes, sans devoir attendre plusieurs jours ou semaines. Kinesis Data Analytics 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
Les applications d'ETL de streaming vous permettent de nettoyer, d'enrichir, d'organiser et de 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 mettre 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 continu 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 doublons, 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 continu
Les applications de génération de métriques en continu vous permettent de surveiller et de comprendre les tendances de vos données sur la durée. Vos applications peuvent agréger les données de streaming sous forme d'informations critiques et les intégrer en toute transparence à 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. Grâce à Kinesis Data Analytics, vous pouvez utiliser du code Apache Flink ou SQL pour générer en continu une analytique de séries chronologiques sur des fenêtres de temps. 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 les envoyant à Amazon DynamoDB. Vous pouvez également suivre le trafic de votre site web en calculant toutes les cinq 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). Ces applications vous permettent de réagir aux évolutions de votre activité 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 (SNS).
 
Analyse interactive des flux de données
L'analyse interactive permet d'explorer les données en temps réel. À l'aide de requêtes ou de programmes ad hoc, vous pouvez inspecter les flux à partir d'Amazon MSK ou Amazon Kinesis Data Streams et visualiser l'aspect 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 la 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 seront continuellement mises à jour à mesure que de nouvelles données arrivent. Avec Kinesis Data Analytics Studio, vous pouvez déployer ces requêtes pour qu'elles s'exécutent en continu avec la scalabilité automatique et les sauvegardes d'état durables activées.
 
Q : Comment démarrer avec les applications Apache Flink pour Kinesis Data Analytics ?
Connectez-vous à la console Amazon Kinesis Data Analytics, puis créez une 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 de flux préconstruits, tels que window et aggregate, et des intégrations de services AWS comme Amazon MSK, Amazon Kinesis Data Streams et Amazon Kinesis Data Firehose. Une fois votre code créé, vous le chargez sur Kinesis Data Analytics. Le service prend en charge toutes les opérations nécessaires pour exécuter les applications en temps réel en continu, notamment la mise à l'échelle automatique en fonction du volume et du débit des données entrantes.
 
Q : Comment démarrer avec les applications Apache Beam pour Kinesis Data Analytics ?
L'utilisation d'Apache Beam pour créer une application Kinesis Data Analytics est un processus semblable au démarrage avec Apache Flink. Veuillez suivre les instructions dans la question ci-dessus et assurez-vous d'installer tous les composants nécessaires à l'exécution des applications sur Apache Beam, conformément aux instructions du guide du développeur. Notez que Kinesis Data Analytics prend en charge le kit SDK Java uniquement lorsqu'il s'exécute sur Apache Beam.
 
Q : Comment démarrer avec Amazon Kinesis Data Analytics Studio ?
Vous pouvez démarrer à partir de la console Amazon Kinesis Data Analytics 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 en utilisant les intégrations intégrées, et diverses autres sources 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 ad hoc et pour développer l'application de traitement des flux. Une fois que vous êtes prêt, vous pouvez facilement, en quelques clics, transformer votre code en une application de traitement des flux s'exécutant en continu avec scalabilité automatique et état durable.
 
Q : Comment démarrer avec Kinesis Data Analytics pour SQL ?
Connectez-vous à la console Amazon Kinesis Data Analytics, puis créez une application de traitement des flux. Vous pouvez également utiliser l' AWS CLI et les kits SDK AWS. Vous pouvez concevoir une application de bout en bout en suivant trois étapes simples : 1) configurer les données de streaming entrantes, 2) rédiger les requêtes SQL et 3) pointer l'emplacement où vous souhaitez que les résultats soient chargés. Kinesis Data Analytics reconnaît les formats de données standard tels que JSON, CSV et TSV et crée automatiquement un schéma de base. Vous pouvez ajuster ce schéma ou, si vos données ne sont pas structurées, en définir un nouveau à l'aide de notre éditeur de schémas intuitif. Le service applique ensuite le schéma au flux de données entrantes et le fait ressembler à une table SQL constamment mise à jour. Vous pouvez donc rédiger des requêtes SQL standard dedans. Vous pouvez utiliser notre éditeur SQL pour créer des requêtes.
 
L'éditeur SQL intègre toutes les options requises, dont la vérification et le test de la syntaxe sur des données en direct. Nous vous offrons également des modèles qui fournissent le code SQL correspondant à un simple filtre de flux à la détection avancée d'anomalies et à des analyses top-K. Kinesis Data Analytics s'occupe de mettre en service et de mettre à l'échelle de manière extensible l'ensemble de l'infrastructure afin de gérer n'importe quel débit de données. Vous n'avez donc pas besoin de planifier, de mettre en service ou de gérer l'infrastructure.
 
Q : Quelles sont les limites de Kinesis Data Analytics ?
Kinesis Data Analytics 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 des informations détaillées sur Service Limits, consultez la section Limites dans le guide du développeur Amazon Kinesis Data Analytics pour SQL. Pour obtenir des informations détaillées sur Service  Limits pour les applications Apache Flink, consultez la section Limites dans le guide du développeur Amazon Kinesis Data Analytics for Apache Flink.
 
Q : Amazon Kinesis Data Analytics prend-il en charge l'enregistrement des schémas ?
Oui, à l'aide de connecteurs Apache Flink DataStream, les applications Amazon Kinesis Data Analytics for 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 Amazon Kinesis Data Analytics for Apache Flink en tant que puits ou source. Consultez la documentation utilisateur du registre de schémas pour démarrer et pour en savoir plus.

Concepts clés

Q : Qu'est-ce qu'une application Kinesis Data Analytics ?
Une application représente l'entité Kinesis Data Analytics avec laquelle vous travaillez. Les applications Kinesis Data Analytics lisent et traitent en continu les données de streaming en temps réel. Vous écrivez le code de l'application dans un langage compatible avec Apache Flink pour traiter les données en continu entrantes et produire la sortie. Ensuite, Kinesis Data Analytics écrit la sortie dans une destination configurée.
 
Chaque application comprend trois composants principaux :
 
Entrée : la source de streaming de l'application. Dans la configuration des entrées, vous devez mapper la source de streaming sur des flux de données intégrés à l'application. Les données passent de vos sources de données aux flux de données intégrés à l’application. Les données de ces flux de données intégrés dans l'application 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 devez ajouter les entrées dans le code des applications Apache Flink et les blocs-notes Studio, et via l'API pour Kinesis Data Analytics pour les applications SQL.
 
Code d'application : une suite d'opérateurs Apache Flink ou d'instructions SQL 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 ou une simple instruction SQL qui lit un flux de données intégré à l'application associé à une source de streaming, puis écrit dans un flux de données intégré à l'application 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 langages pris en charge pour Kinesis Data Analytics pour les applications Apache Flink ou des blocs-notes Studio, ou le code SQL qui fractionne le flux de données intégré à l'application initial en plusieurs flux et applique une logique supplémentaire à ces flux séparés pour Kinesis Data Analytics pour les applications SQL.
 
Sortie : vous pouvez créer un ou plusieurs flux intégrés à l'application afin d'y stocker les résultats intermédiaires. Le cas échéant, vous pouvez ensuite configurer la sortie d'une application afin que les données de flux intégrés à l'application spécifiques soient conservées dans une destination externe. Vous devez ajouter ces sorties dans le code des applications Apache Flink et des blocs-notes Studio, et à Kinesis Data Analytics pour les applications SQL.
 
Q : Qu'est-ce qu'un flux de données intégré à l'application ?
Un flux de données intégré à l'application représente une entité qui stocke en continu les données dans l'application afin que vous puissiez les traiter. Les applications effectuent en continu des opérations de lecture et d'écriture dans les flux de données intégrés à l'application. Pour les applications Apache Flink et Studio, vous interagissez avec un flux intégré à l'application en traitant les données via des opérateurs de flux. Les opérateurs transforment un ou plusieurs flux de données en un nouveau flux de données. Pour les applications SQL, vous interagissez avec un flux intégré comme vous le feriez avec une table SQL, à l’aide d’instructions SQL. Vous appliquez des instructions SQL à un ou plusieurs flux de données et insérez les résultats dans un nouveau flux de données.
 
Q : Quel code d'application est pris en charge ?
Kinesis Data Analytics 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é. Kinesis Data Analytics 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. Kinesis Data Analytics Studio prend en charge le code créé à l'aide de code SQL, Python et Scala compatible avec Apache Flink.

Gestion des applications

Q : Comment puis-je surveiller l'activité et les performances de mes applications Kinesis Data Analytics ?
AWS vous fournit divers outils que vous pouvez utiliser pour surveiller vos applications Kinesis Data Analytics, 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 :

Q : Comment puis-je gérer et contrôler les accès à mes applications Kinesis Data Analytics ?
Kinesis Data Analytics a besoin d'autorisations pour lire les registres provenant des sources de données de streaming que vous indiquez dans l'application. Kinesis Data Analytics a également besoin d'autorisations pour écrire la sortie de l'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 Kinesis Data Analytics peut endosser. Les autorisations accordées à ce rôle déterminent les tâches que le service Kinesis Data Analytics peut effectuer lorsqu'il endosse le rôle. Pour plus d'informations, consultez :

Q : Comment le service Kinesis Data Analytics met-il à l'échelle mon application ?
Kinesis Data Analytics dimensionne 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. Kinesis Data Analytics alloue une capacité sous la forme d'unités de traitement Amazon Kinesis (KPU). Une unité KPU vous fournit 1 vCPU et 4 Go de mémoire.
 
Pour les applications Apache Flink et les blocs-notes Studio, Kinesis Data Analytics affecte 50 Go de stockage d'application active 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 active 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 Kinesis Data Analytics for 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 dans une tâche. L'ensemble des opérateurs, des sources et des récepteurs sont exécutés 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 unité de traitement Kinesis (KPU) dans votre application (par défaut, une). Pour plus d'informations, consultez Mise à l'échelle dans le guide du développeur Amazon Kinesis Data Analytics for Apache Flink.
 
Pour les applications SQL, chaque source de streaming est associée au flux intégré à l'application correspondant. Bien que cela ne soit pas nécessaire pour la majorité des clients, vous pouvez utiliser les KPU de manière plus efficace en augmentant le nombre de flux intégrés à l'application auxquels votre source est mappée en définissant le paramètre de parallélisme des entrées. Kinesis Data Analytics attribue de façon égale les partitions de la source de données de streaming, telles que les partitions de flux de données Amazon Kinesis, au nombre de flux de données intégrés à l'application que vous avez indiqués. Par exemple, si vous disposez d'un flux de données Amazon Kinesis de 10 partitions en tant que source de données de streaming et que vous spécifiez un parallélisme d'entrée de deux, Kinesis Data Analytics attribue alors cinq partitions Amazon Kinesis aux deux flux intégrés à l'application intitulés « SOURCE_SQL_STREAM_001 » et « SOURCE_SQL_STREAM_002 ». Pour en savoir plus, consultez la section Configuration de l'entrée d'application dans le guide du développeur Amazon Kinesis Data Analytics for SQL.
 
Q : Quelles sont les bonnes pratiques inhérentes à la création et à la gestion des applications Kinesis Data Analytics ?
Pour plus d'informations sur les bonnes pratiques pour Apache Flink, consultez la section Bonnes pratiques du guide du développeur Amazon Kinesis Data Analytics for 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 pour Amazon Kinesis Data Analytics Studio, consultez la section Bonnes pratiques du guide du développeur Amazon Kinesis Data Analytics for Studio. La section couvre les bonnes pratiques et les exemples pour les applications SQL, Python et Scala, les conditions requises pour déployer le code en tant qu'application de traitement en continu, les performances, la journalisation, etc.
 
Pour plus d'informations sur les bonnes pratiques SQL, consultez la section Bonnes pratiques du guide du développeur Amazon Kinesis Data Analytics for SQL. Cette section est consacrée à la gestion des applications, à la définition du schéma d'entrée, à la connexion aux sorties et à la création du code d'application.
 
Q : Puis-je accéder aux ressources derrière un Amazon VPC avec une application Java Kinesis Data Analytics for Apache Flink ?
Oui. Vous pouvez accéder à des ressources derrière un Amazon VPC. Pour apprendre à configurer l'application pour l'accès VPC, consultez la section Utilisation d'un Amazon VPC dans le guide du développeur Amazon Kinesis Data Analytics.
 
Q : Une seule application Java Kinesis Data Analytics for 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 Java Kinesis Data Analytics for Apache Flink connectée à un VPC peut-elle également accéder à Internet et aux points de terminaison d'un service AWS ?
Les applications Java Kinesis Data Analytics for Apache Flink et les blocs-notes Kinesis Data Analytics Studio configurés de manière à 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 Internet et accès aux services dans le guide du développeur Amazon Kinesis Data Analytics.

Tarification et facturation

Q : Combien coûte Kinesis Data Analytics ?
Avec Amazon Kinesis Data Analytics, vous ne payez qu'en fonction de votre consommation. Aucune ressource à allouer ou aucun coût initial ne s’applique à Amazon Kinesis Data Analytics.

Vous êtes facturé à l'heure en fonction du nombre d'unités de traitement Amazon Kinesis (ou KPU) 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. Amazon Kinesis Data Analytics met automatiquement à l'échelle le nombre de KPU requis par votre application de traitement des flux, car les besoins en mémoire et en calcul varient en réponse à la complexité de traitement et au 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 actives et les sauvegardes d'applications durables sont également facturés pour les applications Apache Flink et Apache Beam. Le stockage d'applications actives est utilisé pour des fonctionnalités de traitement dynamique dans Amazon Kinesis Data Analytics et est facturé en Go par mois. Les sauvegardes d'applications durables sont facultatives, facturées en Go par mois et assurent une restauration à un instant dans le passé pour les applications.

Pour Amazon Kinesis Data Analytics Studio, en mode développement ou interactif, un KPU supplémentaire vous est facturé pour l'orchestration des applications et un pour le développement interactif. Vous êtes également facturé pour l'exploitation du stockage des applications. Les sauvegardes durables des applications ne vous sont pas facturées.
 
Pour en savoir plus sur la tarification, consultez la page relative à la tarification d'Amazon Kinesis Data Analytics.
 
Q : Le service Kinesis Data Analytics est-il disponible dans le cadre de l'offre gratuite d'AWS ?
Non. Kinesis Data Analytics n'est actuellement pas disponible dans le cadre de l'offre gratuite d'AWS. L'offre gratuite d'AWS est un programme qui permet d'essayer gratuitement un certain nombre de services AWS.
 
Q : Une application Kinesis Data Analytics active qui ne traite aucune donnée provenant de la source me sera-t-elle facturée ?
 
Pour les applications Apache Flink et Apache Beam, vous payez au minimum deux KPU et 50 Go de stockage d'applications actives si votre application Kinesis Data Analytics est en cours d'exécution.
 
Pour les blocs-notes Kinesis Data Analytics Studio, vous payez un minimum de trois KPU et 50 Go de stockage d'applications actives si votre application est en cours d'exécution.
 
Pour les applications SQL, vous êtes facturé au minimum une KPU si votre application Kinesis Data Analytics est active.
 
Q : En dehors des frais Kinesis Data Analytics, quels sont les autres frais qui peuvent m’être facturés ?
Le service Kinesis Data Analytics est une solution de traitement des flux entièrement gérée, indépendante de la source de données 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 des données dans votre application et ceux qui en y écrivent.
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, comme le traitement des doublons. 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 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 Amazon Kinesis Data Analytics for 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 utiliser les opérateurs ?
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 en tant que 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 ?
Kinesis Data Analytics for Apache Flink inclut plus de 25 opérateurs d'Apache Flink que vous pouvez utiliser pour résoudre un large éventail de cas d'utilisation, notamment Map, KeyBy, aggregations, Window Join et Window. 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 façon logique à l’aide d’une clé spécifiée, ce qui vous permet de 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. Window effectue un regroupement par date à l'aide d'une clé et d'une opération généralement basée sur le temps, comme le décompte des éléments uniques sur une période de cinq minutes.
 
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 Amazon Kinesis Data Analytics for Apache Flink contient d’autres exemples. La liste complète des opérateurs Apache Flink figure dans la section Opérateurs de la documentation Apache Flink.
 
Q : Quelles sont les intégrations prises en charge dans une application Java Kinesis Data Analytics for Apache Flink ?
Vous pouvez configurer des intégrations précréées 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 (récepteurs) de streaming pour la livraison des données traitées. Cela comprend également la prise en charge de l'enrichissement des données via des connecteurs d'entrée/sortie (I/O) asynchrones. Vous trouverez ci-dessous la liste des connecteurs spécifiques inclus dans les bibliothèques open source.
 
  • Sources de données de streaming : Amazon Managed Streaming for Apache Kafka (Amazon MSK), Amazon Kinesis Data Streams  Destinations (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)

Apache Flink inclut également d'autres connecteurs, notamment Apache Kafka, Apache Cassandra, Elasticsearch, etc.
 
Q : Une application Java Kinesis Data Analytics for apache Flink peut-elle répliquer des données dans les flux et/ou les rubriques ?
Oui. Vous pouvez utiliser les applications Apache Flink Kinesis Data Analytics 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 continu les données d'Amazon S3 en étendant l'intégration source existante basée sur les fichiers.
 
Q : Quel modèle de distribution fournissent les applications Kinesis Data Analytics for Apache Flink ?
Les applications Apache Flink dans Kinesis Data Analytics utilisent un modèle de distribution « d’unicité » si une application est créée à l’aide d’opérateurs idempotents, y compris des sources et des puits. Cela signifie que les données traitées influeront sur les résultats en aval une seule fois. Les points de contrôle enregistrent l'état actuel de l'application et permettent aux applications Kinesis Data Analytics for 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 des applications Apache Flink sont fournis via la fonctionnalité de points de contrôle d'Apache Flink. Par défaut, les applications Kinesis Data Analytics for Apache Flink utilisent la sémantique d’unicité d’Apache Flink. Votre application prendra en charge exactement une sémantique de traitement si vous concevez vos applications à l’aide de sources, d’opérateurs et de puits qui utilisent la sémantique d’unicité d’Apache Flink.
 
Q : Ai-je accès au stockage local depuis le stockage de mon application ?
Oui. Les applications Kinesis Data Analytics for Apache Flink fournissent à votre application 50 Go de stockage d’application active par unité de traitement Kinesis (KPU). Kinesis Data Analytics aligne le stockage sur votre application. Le stockage d’application active 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. Kinesis Data Analytics peut supprimer des données du stockage d’application active qui n’ont pas été enregistrées via des points de contrôle (par exemple, des opérateurs, des sources, des puits) à tout moment. Toutes les données placées dans le stockage d’application active sont chiffrées au repos.
 
Q : Comment le service Kinesis Data Analytics for Apache Flink sauvegarde-t-il automatiquement mon application ?
Kinesis Data Analytics sauvegarde automatiquement l'état de l'application active à 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 Kinesis Data Analytics for 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'application active. Les clichés utilisent un point de récupération à un instant précis pour les applications. Les clichés utilisent les sauvegardes d’application à long terme.
 
Q : Que sont les clichés d’application ?
Les clichés permettent de créer votre application et de la restaurer à un instant précis. Vous pouvez donc conserver une version de l’application dans son état précédent et revenir en arrière (rollback) à tout moment. Vous contrôlez le nombre de clichés disponibles (0-1000). Les clichés utilisent les sauvegardes d’application à long terme, et Kinesis Data Analytics facture en fonction de leur taille. Par défaut, Kinesis Data Analytics chiffre les données des clichés. Vous pouvez supprimer des clichés individuels via l’API, ou tous les cliché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, veuillez consulter la page des notes de mise à jour d’Amazon Kinesis Data Analytics. Cette page comprend également les versions d’Apache Beam, de Java, de Python et des SDK AWS que Kinesis Data Analytics prend en charge.
 
Q : Les applications Kinesis Data Analytics for Apache Flink peuvent-elles être exécutées sur Apache Beam ?
Oui, Kinesis Data Analytics 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 sur Amazon Kinesis Data Analytics. Vous trouverez des informations ici sur les versions d’Apache Flink et d’Apache Beam prises en charge dans la documentation d’Amazon Kinesis Data Analytics.

Conception d'applications Amazon Kinesis Data Analytics Studio

Q : Comment développer une application Studio ?
Vous pouvez démarrer à partir des consoles Amazon Kinesis Data Analytics Studio, Amazon Kinesis Data Streams ou Amazon MSK en quelques clics 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 facilement 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 un seul clic à une application de traitement des flux qui traite plusieurs Go de données par seconde, sans serveur.

Application de traitement des flux : une fois que vous êtes prêt à promouvoir votre code à la production, vous pouvez créer votre code à l'aide d'un clic. Il vous suffit de cliquer sur « Deploy as stream processing application » (Déployer en tant qu'application de traitement de flux) dans l'interface du bloc-notes ou de lancer une simple commande dans la CLI pour que Studio se charge de toute la gestion de l'infrastructure nécessaire à l'exécution de votre application de traitement des flux à grande échelle, avec la scalabilité automatique et l'état durable activés, tout comme dans une application Amazon Kinesis Data Analytics for 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 des 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 %<interpreter> pour spécifier le langage à utiliser dans une section du bloc-notes et vous pouvez passer facilement d'un langage à l'autre. Les interprètes sont des plug-ins Apache Zeppelin qui permettent aux développeurs de 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 Scan et Filter (SELECT, WHERE), Aggregations (GROUP BY, GROUP BY WINDOW,HAVING), Set (UNION, UNIONALL, INTERSECT, IN, EXISTS), Order (ORDER BY, LIMIT), Joins (INNER, OUTER, Timed Window –BETWEEN, AND, la jointure avec des tables temporelles – les tables qui suivent les changements dans le temps), Top N, la déduplication et la reconnaissance des formes. 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 continuellement mis à jour au fur et à mesure du traitement des données en streaming. D'autres instructions DDL telles que CREATE, ALTER et DROP sont également prises en charge. Pour une liste complète des requêtes et des exemples, consultez https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/table/sql/queries.html.

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.  Une liste complète des opérations et des échantillons est incluse dans notre documentation ici.

Q : Quelles versions d'Apache Flink et d'Apache Zeppelin sont-elles prises en charge ?

Pour en savoir plus sur les versions Apache Flink prises en charge, veuillez consulter la page des notes de mise à jour d’Amazon Kinesis Data Analytics. Cette page comprend également les versions d’Apache Zeppelin, Apache Beam, de Java, de Python et des SDK AWS que Kinesis Data Analytics prend en charge.

Q : Quelles sont les intégrations prises en charge dans une application Kinesis Data Analytics Studio par défaut ?

  • 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 lignes de code Apache Flink (Python, Scala ou Java) pour définir des connexions avec toutes les intégrations prises en charge par Apache Flink, y compris des destinations telles qu'Amazon OpenSearch Service, Amazon ElastiCache for Redis, Amazon Aurora, Amazon Redshift, Amazon DynamoDB, Amazon Keyspaces et plus encore. Vous pouvez attacher des exécutables pour ces connecteurs personnalisés lorsque vous créez ou configurez votre application Studio.

Q : Dois-je développer avec Kinesis Data Analytics Studio ou Kinesis Data Analytics SQL ?
Nous vous recommandons de commencer par Kinesis Data Analytics Studio car il offre une expérience plus complète du traitement des flux avec le traitement unique. Kinesis Data Analytics Studio permet de développer des applications de traitement de flux dans le langage de votre choix (SQL, Python et Scala), d'atteindre une capacité de traitement de l'ordre de Go/s, de prendre en charge des calculs de longue durée (plusieurs heures, voire plusieurs jours), d'effectuer des mises à jour de code en quelques secondes, de gérer plusieurs flux d'entrée et de travailler avec une grande variété de flux d'entrée, tels qu'Amazon Kinesis Data Streams et Amazon MSK.

Conception d'applications SQL Kinesis Data Analytics

Pour les nouveaux projets, nous vous recommandons d'utiliser le nouveau Kinesis Data Analytics Studio plutôt que Kinesis Data Analytics pour les applications SQL. Kinesis Data Analytics Studio combine la facilité d'utilisation avec des capacités analytiques avancées, vous permettant de concevoir des applications sophistiquées de traitement de flux en quelques minutes.

Configuration des données entrantes pour les applications SQL

Q : Quels sont les types de données entrantes pris en charge dans une application SQL Kinesis Data Analytics ?
Les applications SQL dans Kinesis Data Analytics prennent en charge deux types de données entrantes : les sources de données de streaming et les sources de données de référence. Une source de données de streaming présente des données générées en continu qui sont lues dans l'application afin d'être traitées. Une source de données de référence présente des données statiques que l'application utilise pour enrichir les données provenant des sources de données de streaming. Chaque application ne peut disposer que d'une seule source de données de streaming et que d'une seule source de données de référence. Une application lit et traite en continu de nouvelles données provenant de sources de données de streaming, telles qu'Amazon Kinesis Data Streams ou Amazon Kinesis Data Firehose. Une application lit une source de données de référence, dont Amazon S3, dans son intégralité afin de l'utiliser pour enrichir la source de données de streaming à l'aide des jointures SQL.
 
Q : En quoi consiste une source de données de référence ?
Une source de données de référence présente des données statiques que votre application utilise pour enrichir les données provenant des sources de données de streaming. Les données de référence sont stockées en tant qu'objet dans votre compartiment S3. Lorsque l'application SQL démarre, Kinesis Data Analytics lit l'objet S3 et crée une table SQL au sein de l'application pour stocker les données de référence. Le code d'application peut ensuite les associer à un flux intégré à l'application. Vous pouvez mettre à jour les données figurant dans la table SQL en appelant l' API UpdateApplication.
 
Q : Comment configurer une source de données de streaming dans mon application SQL ?
Une source de données de streaming peut être un flux de données Amazon Kinesis ou un flux de diffusion Amazon Kinesis Data Firehose. Votre application SQL Kinesis Data Analytics lit en continu de nouvelles données provenant de sources de données de streaming à mesure qu'elles arrivent en temps réel. Les données sont mises à disposition dans votre code SQL via un flux intégré à l'application. Un flux intégré à l'application fonctionne comme une table SQL puisque vous pouvez en créer une, l'insérer et effectuer une sélection dans celle-ci. Cependant, la différence réside dans le fait qu'un flux intégré à l'application est continuellement mis à jour avec de nouvelles données provenant de la source de données de streaming.
 
Vous pouvez utiliser la Console de gestion AWS pour ajouter une source de données de streaming. Pour en savoir plus sur les sources, consultez la section Configuration de l'entrée de l'application dans le guide du développeur Kinesis Data Analytics for SQL.
 
Q : Comment configurer une source de données de référence dans mon application SQL ?
Une source de données de référence peut être un objet Amazon S3. Votre application SQL Kinesis Data Analytics lit l'objet S3 dans son intégralité lorsqu'elle démarre. Les données sont mises à disposition dans votre code SQL via une table. La plupart du temps, une source de données de référence est utilisée pour enrichir les données provenant d'une source de données de streaming à l'aide d'une jointure SQL. 
 
Avec l'interface de ligne de commande AWS, vous pouvez ajouter une source de données de référence en indiquant le compartiment et l'objet S3, le rôle IAM et le schéma associé. Kinesis Data Analytics charge ces données lorsque vous lancez l'application, puis les charge à nouveau chaque fois que vous appelez l'API de mise à jour.
 
Q : Quels sont les formats de données pris en charge pour les applications SQL ?
Les applications SQL dans Kinesis Data Analytics peuvent détecter le schéma et analyser automatiquement les enregistrements JSON et CSV encodés au format UTF-8 à l'aide de l' API DiscoverInputSchema. Ce schéma s'applique aux données lues à partir du flux dans le cadre de leur insertion dans un flux intégré à l'application. 
 
Pour les autres données encodées au format UTF-8 qui n'utilisent pas de séparateur ou qui utilisent un séparateur autre que CSV, ou dans les situations où l'API de découverte n'a pas découvert l'intégralité du schéma, vous pouvez définir un schéma à l'aide de l'éditeur de schémas interactif ou vous servir des fonctions de manipulation des chaînes pour structurer vos données. Pour plus d'informations, consultez la section relative à l' utilisation de la fonction de découverte de schéma et édition associée dans le guide du développeur Amazon Kinesis Data Analytics for SQL.
 
Q : Comment mon flux de données entrantes est-il exposé à mon code SQL ?
Kinesis Data Analytics for SQL applique le schéma que vous avez indiqué et insère vos données dans un ou plusieurs flux intégrés à l'application pour les sources de données de streaming et dans une seule table SQL pour les sources de données de référence. Le nombre par défaut de flux intégrés à l'application doit satisfaire aux besoins de la plupart de vos cas d'utilisation. Vous devez augmenter ce nombre si vous estimez que votre application n'est pas en phase avec les données les plus récentes de votre flux source, tel que cela est défini par la métrique CloudWatch MillisBehindLatest. Le nombre requis de flux intégrés à l'application est affecté par le débit de votre flux source et la complexité de vos requêtes. Le parallélisme des données entrantes est un paramètre vous permettant de spécifier le nombre de flux intégrés à l'application, et mappés avec votre flux source.
 

Création du code des applications SQL

Q : À quoi ressemble le code d'une application SQL ?
Un code d'application est une série d'instructions SQL qui traitent les données entrantes et génèrent les données sortantes. Ces instructions SQL fonctionnent sur les flux intégrés à l'application et sur les tables de référence. Un flux au sein d'une application est similaire à une table continuellement mise à jour sur laquelle vous pouvez effectuer des opérations SQL SELECT et INSERT. Les sources et destinations que vous avez configurées sont exposées à votre code SQL par le biais des flux intégrés à l'application. Vous pouvez également créer des flux intégrés à l'application supplémentaires pour stocker les résultats de requête intermédiaires.
 
Servez-vous du modèle suivant pour travailler avec des flux intégrés à l'application :

  • Utilisez toujours une instruction SELECT dans le cadre d'une instruction INSERT. Lorsque vous sélectionnez des lignes, vous insérez les résultats dans un autre flux intégré à l'application.
  • Utilisez une instruction INSERT dans le cadre d'une pompe.
  • Utilisez une pompe pour donner un caractère continu à une instruction INSERT et écrivez sur un flux intégré à l'application.

Le code SQL suivant fournit une application simple et efficace :
CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" (
    ticker_symbol VARCHAR(4),
    change DOUBLE,
    price DOUBLE);

CREATE OR REPLACE PUMP "STREAM_PUMP" AS 
  INSERT INTO "DESTINATION_SQL_STREAM"    
    SELECT STREAM ticker_symbol, change, price    
    FROM "SOURCE_SQL_STREAM_001";
Pour en savoir plus sur le code d'application, consultez la section relative au code d'application dans le guide du développeur Amazon Kinesis Data Analytics for SQL.
 
Q : Comment Kinesis Data Analytics peut-il m'aider à écrire du code SQL ?
Kinesis Data Analytics comporte une bibliothèque de modèles d'analyse pour les cas d'utilisation courants, dont les filtres de données de streaming, les fenêtres bascules et la détection d'anomalies. Vous pouvez accéder à ces modèles depuis l'éditeur SQL, dans la Console de gestion AWS. Une fois que vous avez créé une application et accédé à l'éditeur SQL, les modèles se trouvent dans le coin supérieur gauche de la console.
 
Q : Comment puis-je exécuter des opérations de détection d'anomalies en temps réel dans Kinesis Data Analytics ?
Kinesis Data Analytics inclut des fonctions SQL préconçues pour différentes analyses avancées, y compris pour la détection des anomalies. Vous pouvez appeler simplement cette fonction depuis votre code SQL pour détecter les anomalies en temps réel. Kinesis Data Analytics utilise l'algorithme de forêts aléatoires pour implémenter une fonction de détection d'anomalies. Pour plus d'informations sur les forêts aléatoires, consultez le livre blanc Détection des anomalies dans les données de streaming.

Configuration des destinations dans les applications SQL

Q : Quelles sont les destinations prises en charge ?
Kinesis Data Analytics for SQL prend en charge jusqu'à trois destinations par application. Vous pouvez conserver les résultats SQL dans Amazon S3, Amazon Redshift, Amazon OpenSearch Service (par le biais d'Amazon Kinesis Data Firehose) et Amazon Kinesis Data Streams. Vous pouvez écrire sur une destination qui n'est pas directement prise en charge par Kinesis Data Analytics en envoyant les résultats SQL à Amazon Kinesis Data Streams et en tirant parti de son intégration à AWS Lambda pour les envoyer vers la destination de votre choix.
 
Q : Comment puis-je configurer une destination ?
Dans votre code d'application, écrivez la sortie des instructions SQL sur un ou plusieurs flux intégrés à l'application. Vous pouvez également ajouter une configuration des sorties à votre application, de sorte que tous les éléments écrits sur des flux spécifiques intégrés à l'application soient conservés dans quatre destinations externes au maximum. Ces destinations externes peuvent être un compartiment Amazon S3, une table Amazon Redshift, un domaine Amazon OpenSearch Service (par le biais d'Amazon Kinesis Data Firehose) et un flux de données Amazon Kinesis. Chaque application prend en charge jusqu'à quatre destinations, qui peuvent être une combinaison des éléments mentionnés ci-dessus. Pour en savoir plus, consultez la section relative à la configuration des flux de sortie dans le guide du développeur Amazon Kinesis Data Analytics for SQL.
 
Q : La destination de mon choix n'est pas directement prise en charge. Comment puis-je envoyer des résultats SQL vers cette destination ?
Vous pouvez utiliser AWS Lambda pour écrire des données sur une destination qui n'est pas directement prise en charge à l'aide de Kinesis Data Analytics for SQL. Nous vous recommandons d'écrire les résultats sur un flux Amazon Kinesis, puis d'utiliser AWS Lambda pour lire les résultats traités et les envoyer vers la destination de votre choix. Pour en savoir plus, consultez la section contenant un exemple d'intégration d'AWS Lambda dans le guide du développeur Amazon Kinesis Data Analytics for SQL. Vous pouvez également utiliser un flux de diffusion Kinesis Data Firehose pour charger les données dans Amazon S3, puis déclencher une fonction AWS Lambda pour lire les données et les envoyer vers la destination de votre choix. Pour plus d'informations, consultez la section relative à l' utilisation d'AWS Lambda avec Amazon S3 dans le guide du développeur AWS Lambda.
 
Q : Quel modèle de livraison fournit le service Kinesis Data Analytics ?
Les applications SQL dans Kinesis Data Analytics utilisent un modèle de livraison « au moins à une reprise » pour transmettre les données sortantes de l'application aux destinations configurées. Les applications Kinesis Data Analytics vérifient les points de contrôle internes, qui sont des moments où les enregistrements des données sortantes ont été livrées vers les destinations et où aucune perte de données n'a été subie. Le service utilise les points de contrôle au besoin pour garantir que les données sortantes de votre application sont transmises au moins à une reprise aux destinations configurées. Pour en savoir plus sur la livraison, consultez la section relative à la configuration des données sortantes d'une application dans le guide du développeur Amazon Kinesis Data Analytics for SQL.

Comparaison avec d’autres solutions de traitement des flux de données

Q : Quelles différences existe-t-il entre Amazon Kinesis Data Analytics et l'exécution de mon application à l'aide de la bibliothèque cliente Amazon Kinesis ?
La bibliothèque client Amazon Kinesis (KCL) est une bibliothèque pré-intégrée qui vous permet de concevoir des applications destinées aux clients pour la lecture et le traitement des données d'un flux de données Amazon Kinesis. La bibliothèque KCL gère des problèmes complexes, tels que l'adaptation à des flux de données aux volumes fluctuants, l'équilibrage de la charge pour les données de streaming, la coordination des services distribués et le traitement des données avec tolérance aux pannes. Elle vous permet ainsi de vous concentrer sur la logique métier lors de la conception des applications. 
 
Avec Kinesis Data Analytics, vous pouvez traiter et interroger des données de streaming en temps réel. Vous utilisez le langage SQL standard pour traiter vos flux de données. Ainsi, vous n'avez pas besoin d'apprendre de nouveaux langages de programmation. Il vous suffit de faire en sorte que Kinesis Data Analytics pointe vers un flux de données entrant, de rédiger vos requêtes SQL, puis d'indiquer l'emplacement où vous souhaitez que les résultats soient chargés. Kinesis Data Analytics utilise la bibliothèque KCL pour lire les données provenant des sources de données de streaming dans le cadre de votre application sous-jacente. Le service vous épargne ces détails, ainsi que la plupart des concepts complexes associés à l'utilisation de la bibliothèque KCL, tels que l'enregistrement des points de contrôle. 
 
Si vous souhaitez bénéficier d'une solution entièrement gérée et vous servir de SQL pour traiter les données de votre flux, nous vous conseillons d'utiliser Kinesis Data Analytics. Utilisez la bibliothèque KCL si vous devez concevoir une solution de traitement personnalisée dont les exigences ne sont pas satisfaites par Kinesis Data Analytics et si vous êtes en mesure de gérer l'application client en découlant.

Contrat de niveau de service

Q : Qu’est-ce que garantit le contrat de niveau de service relatif à Amazon Kinesis Data Analytics ?

Notre contrat de niveau de service relatif à Amazon Kinesis Data Analytics garantit un pourcentage de disponibilité mensuel d'au moins 99,9 % pour Amazon Kinesis Data Analytics.

Q : Comment savoir si je peux bénéficier d'un crédit de service dans le cadre du contrat de niveau de service ?

Vous pouvez bénéficier d'un crédit de service pour Amazon Kinesis Data Analytics dans le cadre du contrat de niveau de service relatif à Amazon Kinesis Data Analytics si plusieurs zones de disponibilité dans lesquelles vous exécutez une tâche dans la même région 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 et en savoir plus sur la marche à suivre pour soumettre une réclamation, veuillez vous référer à la page de présentation du contrat de niveau de service Amazon Kinesis.

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.