Q : Qu'est-ce qu'Amazon Kinesis Data Analytics ?

Amazon Kinesis Data Analytics représente la solution la plus simple pour traiter et analyser des données de streaming en temps réel. Grâce à Amazon Kinesis Data Analytics, il vous suffit d'utiliser le langage SQL standard pour traiter vos flux de données. Ainsi, vous n'avez pas besoin d'apprendre de nouveaux langages de programmation. Faites pointer Kinesis Data Analytics vers un flux de données entrant, rédigez vos requêtes SQL et indiquez l'emplacement où vous souhaitez charger les résultats. Kinesis Data Analytics s'occupe de l'exécution continue de vos requêtes SQL sur les données en transit et de l'envoi des résultats vers les destinations.

Q : En quoi consiste le traitement des flux en temps réel et pourquoi en ai-je besoin ?

Les données nous parviennent à la vitesse de l'éclair suite à la croissance fulgurante des sources de données en temps réel. La consignation de données provenant des applications mobiles et Web, l'achat des données de sites de e-commerce ou encore la collecte des données des capteurs des appareils de l'Internet des objets fournissent tous les trois des informations permettant aux entreprises d'en savoir plus sur l'activité actuelle de leurs clients, de leur organisation et de leur exploitation. En bénéficiant de la visibilité de ces données à mesure qu'elles arrivent, vous pouvez surveiller vos activités en temps réel et exploiter rapidement de nouvelles opportunités commerciales, telles que proposer des offres promotionnelles aux clients en fonction de leur position à un moment donné ou surveiller les sentiments des clients sur les réseaux sociaux et modifier leur opinion afin d'identifier et de saisir de nouvelles opportunités.

Pour tirer parti de ces opportunités, vous avez besoin d'un ensemble d'outils d'analyse pour collecter et analyser les données de streaming en temps réel qui est différent de celui qui est généralement disponible pour les données statiques stockées. Avec les outils d'analyse traditionnels, vous collectez les informations, les stockez dans une base de données et les analysez quelques heures, jours ou semaines plus tard. L'analyse de données en temps réel nécessite une approche différente ainsi que d'autres outils et services. Au lieu d'exécuter des requêtes de base de données sur des données stockées, les plateformes d'analyse des données de streaming traitent en continu les données avant que celles-ci soient stockées dans une base de données. Les données de streaming circulent à une vitesse incroyable, qui peut varier constamment à la hausse et à la baisse. Les plateformes d'analyse des données de streaming doivent donc être capables de traiter ces données à mesure qu'elles arrivent, souvent à une vitesse de plusieurs millions d'événements par heure.

Q : Que puis-je faire avec Kinesis Data Analytics ?

Vous pouvez vous servir de Kinesis Data Analytics dans pratiquement n'importe quel cas d'utilisation où vous collectez en continu des données en temps réel et où vous souhaitez obtenir des informations et des aperçus en quelques secondes ou minutes au lieu de devoir attendre plusieurs jours, voire semaines. Kinesis Data Analytics vous permet notamment de concevoir rapidement des applications de traitement des flux de bout en bout pour l'analyse des journaux et des parcours de navigation, l'Internet des objets, les technologies publicitaires, les jeux et bien plus encore. Les analyses des données en séries chronologiques, les tableaux de bord en temps réel ainsi que les alertes et notifications en temps réel représentent les trois schémas d'utilisation les plus courants.

Générer des analyses des données en séries chronologiques

Les analyses des données en séries chronologiques vous permettent de surveiller et de comprendre les tendances de vos données au fil du temps. Grâce à Kinesis Data Analytics, vous pouvez créer un code SQL qui génère en continu des analyses des données en séries chronologiques au cours de différentes 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 les envoyant à Amazon S3. 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.

Alimenter les tableaux de bord en temps réel

Vous pouvez concevoir des applications qui calculent les résultats des requêtes et les transmettent à un tableau de bord en direct, ce qui vous permet de visualiser les données pratiquement en temps réel. Par exemple, une application peut calculer en continu des métriques commerciales telles que le nombre d'achats sur un site de e-commerce, regroupé par catégorie de produit, puis envoyer les résultats à Amazon Redshift afin que vous puissiez les visualiser avec l'outil d'informatique décisionnelle de votre choix. Citons un autre exemple où une application traite les données des logs et calcule le nombre d'erreurs d'application, puis envoie les résultats à Amazon Elasticsearch Service pour que vous puissiez les visualiser avec Kibana.

Créer des alarmes et des notifications en temps réel

Vous pouvez concevoir des applications qui 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 de l'algorithme d'apprentissage automatique que nous vous fournissons. 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 concevoir une autre application pour rechercher des événements qui répondent à certains critères, puis avertir automatiquement les clients correspondants à l'aide de Kinesis Data Streams et d'Amazon Simple Notification Service (SNS).

Q : Comment démarrer avec Kinesis Data Analytics ?

Connectez-vous à la console Kinesis Data Analytics, puis créez une application de traitement des flux de données. Vous pouvez également utiliser l'interface de ligne de commande AWS 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 qui est constamment mise à jour, de sorte que vous puissiez rédiger des requêtes SQL standard dedans. Vous pouvez utiliser notre éditeur SQL pour concevoir vos 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 pour notamment un simple filtre de flux, la détection avancée d'anomalies et les analyses top-K.Kinesis Data Analytics s'occupe de mettre en service et de dimensionner 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 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. Pour des informations détaillées à propos des limites de service, voir la section Limits du Amazon Kinesis Data Analytics Developer Guide.


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 continuellement des données de streaming en temps réel. Vous rédigez le code d'application à l'aide de SQL pour traiter les données de streaming entrantes et générer les données sortantes. Kinesis Data Analytics écrit ensuite les données sortantes sur une destination configurée.

Chaque application comprend trois composants principaux :

  • Données entrantes – La source de données de streaming de votre application. Dans la configuration des données entrantes, vous mappez la source de données de streaming avec un flux de données entrantes intégré à l'application. Le flux au sein de l'application est similaire à une table continuellement mise à jour sur laquelle vous pouvez effectuer des opérations SQL SELECT et INSERT. Chaque enregistrement de données entrantes est associé à un schéma, qui est utilisé dans le cadre de l'insertion de l'enregistrement dans le flux intégré à l'application.
  • Code d'application – Une série de déclarations SQL qui traitent les données entrantes et génèrent les données sortantes. Sous sa forme la plus simple, le code d'application peut être une seule déclaration SQL qui effectue une sélection parmi les données de streaming entrantes et insère les résultats dans des données de streaming sortantes. Il peut également être une série de déclarations SQL dans lesquelles les données sortantes de l'une des déclarations alimentent les données entrantes de la déclaration SQL suivante. En outre, vous pouvez rédiger un code d'application pour scinder un flux de données entrantes en plusieurs flux, puis appliquer des requêtes supplémentaires pour traiter ces différents flux. 
  • Données sortantes – Vous pouvez créer un ou plusieurs flux intégrés à l'application afin qu'ils contiennent les résultats intermédiaires. Le cas échéant, vous pouvez ensuite configurer les données sortantes de l'application, de sorte que les données des flux spécifiques intégrés à l'application soient conservées dans une destination externe. 

Q : Qu'est-ce qu'un flux intégré à l'application ?

Un flux intégré à l'application représente une entité qui stocke en continu les données dans votre application afin que vous puissiez effectuer des opérations SQL SELECT et INSERT. Vous interagissez avec un flux intégré à l'application comme vous le feriez avec une table SQL. Cependant, un flux est différent d'une table puisqu'il se caractérise par des données mises à jour en continu. Dans votre code d'application, vous pouvez créer des flux intégrés à l'application supplémentaires pour stocker les résultats de requête intermédiaires. Enfin, les données entrantes et sortantes que vous avez configurées se présentent dans votre application comme des flux intégrés à l'application.

Q : Quels types de données entrantes sont pris en charge dans une application Kinesis Data Analytics ?

Kinesis Data Analytics prend 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 votre application afin d'être traitées. 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. 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 en 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. Vous stockez des données de référence en tant qu'objet dans votre compartiment S3. Lorsque l'application 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. Votre 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 : Quel type de code d'application est pris en charge ?

Kinesis Data Analytics prend en charge le langage SQL ANSI avec certaines extensions du langage SQL standard pour faciliter votre travail avec les données de streaming. En outre, Kinesis Data Analytics fournit plusieurs algorithmes d'apprentissage machine qui sont exposés sous forme de fonctions SQL dont la détection d'anomalies, les requêtes top-K approximatives et les éléments distincts approximatifs.

Q : Quelles sont les destinations prises en charge ?

Kinesis Data Analytics prend en charge jusqu'à quatre destinations par application. Vous pouvez conserver les résultats SQL dans Amazon S3, Amazon Redshift, Amazon Elasticsearch 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 configurer une source de données de streaming ?

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 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 AWS Management Console pour ajouter une source de données de streaming. Pour en savoir plus sur les sources de données, consultez la section relative à la configuration de l'entrée de l'application dans le guide du développeur Kinesis Data Analytics.

Q : Comment configurer une source de données de référence ?

Une source de données de référence peut être un objet Amazon S3. Votre application 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.

À l'aide de 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 et les charge à nouveau chaque fois que vous appelez l'API de mise à jour.

Q : Quels sont les formats de données pris en charge ?

Kinesis Data Analytics détecte le schéma et analyse automatiquement les enregistrements JSON et CVS 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 obtenir des informations supplémentaires à ce sujet, 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 Kinesis Data Analytics.

Q : Comment mon flux de données entrantes est-il exposé à mon code SQL ?

Kinesis Data Analytics 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 paramètre vous permettant de spécifier le nombre de flux intégrés à l'application qui sont mappés avec votre flux source est connu sous le nom de parallélisme des données entrantes.


Q : A quoi ressemble mon code d'application ?

Un code d'application est une série de déclarations SQL qui traitent les données entrantes et génèrent les données sortantes. Ces déclarations 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 déclaration SELECT dans le cadre d'une déclaration INSERT. Lorsque vous sélectionnez des lignes, vous insérez les résultats dans un autre flux intégré à l'application.
  • Utilisez une déclaration INSERT dans le cadre d'une pompe. Vous employez une pompe pour donner un caractère continu à une déclaration INSERT et écrivez sur un flux intégré à l'application.
  • Vous utilisez une pompe pour relier les flux intégrés à l'application entre eux en effectuant une sélection dans un flux au sein d'une application et en l'insérant dans un autre flux intégré à l'application. 

Le code SQL suivant vous permet de disposer d'une application simple et opérationnelle :

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 de l'application dans le guide du développeur Kinesis Data Analytics.

Q : Comment Kinesis Data Analytics peut-il m'aider à écrire du code SQL ?

Kinesis Data Analytics comporte une bibliothèque des 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 templates depuis l'éditeur SQL, dans AWS Management Console. Une fois que vous avez créé une application et accédé à l'éditeur SQL, les templates 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 Streaming Data Anomaly Detection.


Q : Comment puis-je configurer une destination ?

Dans votre code d'application, vous écrivez les données sortantes des déclarations SQL sur un ou plusieurs flux intégrés à l'application. Vous pouvez également ajouter une configuration des données sortantes à 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 Elasticsearch (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 obtenir des informations supplémentaires à ce sujet, consultez la section relative à la configuration des flux de sortie dans le guide du développeur Kinesis Data Analytics.

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 sur une destination qui n'est pas directement prise en charge. Nous vous recommandons d'écrire les résultats sur un flux de données 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 Kinesis Data Analytics. Vous pouvez également utiliser un flux de diffusion Amazon 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 obtenir des informations supplémentaires à ce sujet, consultez la section relative à l'utilisation d'AWS Lambda avec Amazon S3 dans le guide du développeur AWS Lambda.

Q : Quel modèle d'envoi fournit le service Kinesis Data Analytics ?

Kinesis Data Analytics utilise un modèle d'envoi « 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 constituent des moments distincts où les enregistrements des données sortantes ont été envoyés 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 le modèle d'envoi, consultez la section relative à la configuration de la sortie d'application dans le guide du développeur Kinesis Data Analytics.


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. Vous pouvez configurer certains de ces outils afin qu'ils surveillent vos applications pour vous. Pour savoir comment surveiller votre application, consultez la section relative à la surveillance de Kinesis Data Analytics dans le guide du développeur Kinesis Data Analytics.

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 enregistrements provenant des sources de données de streaming que vous indiquez dans votre application.Le service a également besoin d'autorisations pour écrire les données sortantes de votre application sur des flux de données que vous spécifiez dans la configuration des données sortantes de votre application. Vous pouvez accorder ces autorisations en créant des rôles 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 obtenir des informations supplémentaires à ce sujet, consultez la section relative à l'octroi d'autorisations dans le guide du développeur Kinesis Data Analytics.

Q : Comment le service Kinesis Data Analytics dimensionne-t-il 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 des capacités sous la forme d'unités de traitement Amazon Kinesis (KPU). Une seule unité KPU vous fournit des capacités de mémoire (4 Go) ainsi que les capacités de calcul et de mise en réseau correspondantes.
Chaque source de données de streaming est mappé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 unités de traitement Kinesis de manière plus efficace en augmentant le nombre de flux intégrés à l'application auxquels votre source est mappée et en définissant le paramètre de parallélisme des données entrantes.Kinesis Data Analytics attribue de façon égale les partitions de la source de données de streaming, telles que les partitions d'un flux de données Amazon Kinesis, au nombre de flux 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 des données entrantes de deux, Kinesis Data Analytics attribue alors cinq partitions 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 relative à la configuration de l'entrée d'application dans le guide du développeur Kinesis Data Analytics.

Q : Quelles sont les bonnes pratiques inhérentes à la conception et à la gestion de mes applications Kinesis Data Analytics ?

Pour obtenir des informations sur les bonnes pratiques, consultez la section relative aux bonnes pratiques dans le guide du développeur Kinesis Data Analytics, qui aborde la gestion des applications, la définition du schéma de données entrantes, la connexion aux données sortantes et la création du code d'application.


Q : Comment faire pour qu'une déclaration SQL en particulier fonctionne correctement ?

Pour obtenir des informations à ce sujet, consultez la section contenant des exemples d'applications dans le guide du développeur Kinesis Data Analytics, qui comporte toute une série d'exemples SQL que vous pouvez utiliser. En outre, le document Kinesis Data Analytics SQL Reference fournit un guide détaillé pour créer des déclarations SQL de données de streaming. Si vous rencontrez encore des problèmes, nous vous recommandons de poser votre question sur les forums Amazon Kinesis Forums.

Q : Kinesis Data Analytics n'est pas parvenu à détecter ou à découvrir mon schéma. Comment utiliser Kinesis Data Analytics dans cette situation ?

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 manuellement un schéma ou vous servir des fonctions de manipulation des chaînes pour structurer vos données. Pour obtenir des informations supplémentaires à ce sujet, 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 Kinesis Data Analytics.

Q : Quels paramètres importants dois-je surveiller pour m'assurer que mon application s'exécute correctement ?

Le paramètre le plus important pour la surveillance est la métrique CloudWatch MillisBehindLatest, qui représente le temps écoulé entre le moment présent et le moment où vous lisez les données depuis le flux. Cette métrique fournit un mécanisme efficace pour déterminer si vous traitez les enregistrements du flux source suffisamment rapidement. Vous devez configurer une alarme CloudWatch qui se déclenche lorsque vous dépassez le délai d'une heure (ce délai dépend de votre cas d'utilisation et peut être ajusté au besoin). Pour en savoir plus, consultez la section relative aux bonnes pratiques dans le guide du développeur Kinesis Data Analytics.

Q : Comment résoudre les erreurs de code non valide lors de l'exécution d'une application Kinesis Data Analytics ?
Pour en savoir plus sur les erreurs de code non valide et la résolution des problèmes rencontrés avec votre application Kinesis Data Analytics, consultez la section relative au dépannage dans le guide du développeur Amazon Kinesis Data Analytics.


Q : Combien coûte Kinesis Data Analytics ?

Avec Kinesis Data Analytics, vous ne payez qu'en fonction de votre consommation. Vous êtes facturé à l'heure en fonction du nombre moyen d'unités de traitement Kinesis (ou KPU) utilisées pour exécuter votre application de traitement des flux. Nous arrondissons ce nombre à l'unité KPU la plus proche.

Une seule unité KPU constitue une ressource de traitement des flux comprenant des capacités de mémoire (4 Go) et de calcul (1 vCPU), ainsi que les capacités de mise en réseau correspondantes. Étant donné que la consommation de capacités de mémoire et de calcul de votre application de données de streaming varie au cours du traitement, Kinesis Data Analytics fait évoluer automatiquement et de manière extensible le nombre d'unités de traitement Kinesis en fonction de votre charge de travail de données de streaming. Vous n'avez aucune ressource à allouer et aucuns coûts initiaux ou frais minimums ne s'appliquent à Kinesis Data Analytics.

Pour obtenir des informations supplémentaires sur la tarification, consultez la page relative à la tarification de 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 : Suis-je facturé pour une application Kinesis Data Analytics qui est en cours d'exécution, mais qui ne traite aucune donnée provenant de la source ?

Des frais minimums équivalents à une unité de traitement Kinesis vous sont facturés si votre application Kinesis Data Analytics est en cours d'exécution.

Q : En dehors des frais directement liés à Kinesis Data Analytics, quels autres coûts peuvent découler de l'utilisation de ce service ?

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. Les coûts d'utilisation de Kinesis Data Firehose et de Kinesis Data Streams inhérents à vos flux de données entrantes et sortantes vous seront facturés à part.

Q : Quelles différences existe-t-il entre Kinesis Data Analytics et l'exécution de mon application à l'aide de la bibliothèque client 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 en garantissant la 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 pointer Kinesis Data Analytics 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 opé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.