Requêtes continues - Manuel du développeur des applications Amazon Kinesis Data Analytics pour SQL

Pour les nouveaux projets, nous vous recommandons d’utiliser le nouveau service géré pour Apache Flink Studio plutôt que les applications Kinesis Data Analytics pour SQL. Le service géré pour Apache Flink Studio allie facilité d’utilisation et capacités analytiques avancées, ce qui vous permet de créer des applications sophistiquées de traitement des flux en quelques minutes.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Requêtes continues

Une requête sur un flux s'exécute en continu sur les données de diffusion. Cette exécution en continu autorise des scénarios, comme la possibilité pour des applications d'interroger un flux et de générer des alertes en continu.

Dans l'exercice de mise en route, vous avez un flux intégré à l'application appelé SOURCE_SQL_STREAM_001. Il reçoit en continu des prix d’action en provenance d’un flux de démonstration (flux de données Kinesis). Le schéma est le suivant :

(TICKER_SYMBOL VARCHAR(4), SECTOR varchar(16), CHANGE REAL, PRICE REAL)

Supposons que vous soyez intéressé par les changements de prix d'action supérieurs à 15 %. Vous pouvez utiliser la requête suivante dans votre code d'application. Cette requête s'exécute en continu et émet des enregistrements lorsqu'un changement de prix d'une action supérieur à 15 % est détecté.

SELECT STREAM TICKER_SYMBOL, PRICE FROM "SOURCE_SQL_STREAM_001" WHERE (ABS((CHANGE / (PRICE-CHANGE)) * 100)) > 15

Utilisez la procédure suivante pour configurer une application Amazon Kinesis Data Analytics et tester cette requête.

Pour tester la requête
  1. Créez une application en suivant l'exercice de mise en route.

  2. Remplacez l'instruction SELECT dans le code d'application par la requête SELECT précédente. Le code d'application résultant est présenté ci-après :

    CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" (ticker_symbol VARCHAR(4), price DOUBLE); -- CREATE OR REPLACE PUMP to insert into output CREATE OR REPLACE PUMP "STREAM_PUMP" AS INSERT INTO "DESTINATION_SQL_STREAM" SELECT STREAM TICKER_SYMBOL, PRICE FROM "SOURCE_SQL_STREAM_001" WHERE (ABS((CHANGE / (PRICE-CHANGE)) * 100)) > 15;