Questions d'ordre général
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.
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.
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.
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
Gestion des applications
- Surveillance de Kinesis Data Analytics dans le guide du développeur Amazon Kinesis Data Analytics for Apache Flink.
- Surveillance de Kinesis Data Analytics dans le guide du développeur Amazon Kinesis Data Analytics for Studio.
- Surveillance de Kinesis Data Analytics dans le guide du développeur Amazon Kinesis Data Analytics for SQL.
- Octroi d'autorisations dans le guide du développeur Amazon Kinesis Data Analytics for Apache Flink.
- Octroi d'autorisations dans le guide du développeur Amazon Kinesis Data Analytics Studio.
- Octroi d'autorisations dans le guide du développeur Amazon Kinesis Data Analytics for SQL.
Tarification et facturation
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.
Création d’applications Apache Flink
Création du code des applications en utilisant Apache Flink
DataStream <GameEvent> rawEvents = env.addSource(
New KinesisStreamSource(“input_events”));
DataStream <UserPerLevel> gameStream =
rawEvents.map(event - > new UserPerLevel(event.gameMetadata.gameId,
event.gameMetadata.levelId,event.userId));
gameStream.keyBy(event -> event.gameId)
.keyBy(1)
.window(TumblingProcessingTimeWindows.of(Time.minutes(1)))
.apply(...) - > {...};
gameStream.addSink(new KinesisStreamSink("myGameStateStream"));
- 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.
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.
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
Création du code des applications SQL
- 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.
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";
Configuration des destinations dans les applications SQL
Comparaison avec d’autres solutions de traitement des flux de données
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


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