

Après mûre réflexion, nous avons décidé de mettre fin à Amazon Kinesis Data Analytics pour les applications SQL :

1. À compter du **1er septembre 2025,** nous ne fournirons aucune correction de bogue pour les applications Amazon Kinesis Data Analytics for SQL, car leur support sera limité, compte tenu de l'arrêt prochain.

2. À compter du **15 octobre 2025,** vous ne pourrez plus créer de nouvelles applications Kinesis Data Analytics for SQL.

3. Nous supprimerons vos candidatures à compter **du 27 janvier 2026**. Vous ne serez pas en mesure de démarrer ou d'utiliser vos applications Amazon Kinesis Data Analytics for SQL. Support ne sera plus disponible pour Amazon Kinesis Data Analytics for SQL à partir de cette date. Pour de plus amples informations, veuillez consulter [Arrêt d'Amazon Kinesis Data Analytics pour les applications SQL](discontinuation.md).

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.

# Fenêtres bascules (regroupements à l'aide de GROUP BY)
<a name="tumbling-window-concepts"></a>

Lorsqu'une requête à fenêtres traite chaque fenêtre sans chevauchement, la fenêtre est appelée *fenêtre bascule*. Dans ce cas, chaque enregistrement d'un flux intégré à l'application appartient à une fenêtre spécifique. Il n'est traité qu'une fois (lorsque la requête traite la fenêtre à laquelle l'enregistrement appartient).

![\[Timeline showing non-overlapping windows processing data streams at distinct time intervals.\]](http://docs.aws.amazon.com/fr_fr/kinesisanalytics/latest/dev/images/window-tumbling-20.png)


Par exemple, une requête de regroupement à l'aide d'une clause `GROUP BY` traite des lignes dans une fenêtre bascule. Le flux de démonstration de l'[exercice de mise en route](https://docs.aws.amazon.com/kinesisanalytics/latest/dev/get-started-exercise.html) reçoit des données de prix d'action qui sont mappées au flux intégré à l'application `SOURCE_SQL_STREAM_001` dans votre application. Ce flux a le schéma suivant :

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

Dans votre code d'application, supposons que vous vouliez trouver des prix agrégés (minimum, maximum) pour chaque symbole boursier sur une fenêtre d'une minute. Vous pouvez utiliser la requête suivante.

```
SELECT STREAM ROWTIME,
              Ticker_Symbol,
              MIN(Price) AS Price,
              MAX(Price) AS Price
FROM     "SOURCE_SQL_STREAM_001"
GROUP BY Ticker_Symbol, 
         STEP("SOURCE_SQL_STREAM_001".ROWTIME BY INTERVAL '60' SECOND);
```

La requête précédente est un exemple de requête à fenêtres temporelle. La requête regroupe les enregistrements par valeurs `ROWTIME`. Une génération de rapports sur une base par minute, la fonction `STEP` arrondit vers le bas les valeurs `ROWTIME` à la minute la plus proche. 

**Note**  
Vous pouvez également utiliser la fonction `FLOOR` pour regrouper les enregistrements dans des fenêtres. Cependant, `FLOOR` peut uniquement arrondir les valeurs de temps à l'unité de temps entière inférieure (heure, minute, seconde, etc.). La fonction `STEP` est recommandée pour regrouper les enregistrements dans des fenêtres bascules, car elle peut arrondir des valeurs à un intervalle inférieur arbitraire, par exemple 30 secondes.

Cette requête est un exemple de fenêtre sans chevauchement (bascule). La clause `GROUP BY` regroupe les enregistrements dans une fenêtre d'une minute et chaque enregistrement appartient à une fenêtre spécifique (pas de chevauchement). La requête émet un enregistrement de sortie par minute, fournissant le prix du min/max ticker enregistré à la minute spécifique. Ce type de requête est utile pour générer des rapports périodiques à partir du flux de données d'entrée. Dans cet exemple, des rapports sont générés toutes les minutes. 

**Pour tester la requête**

1. Configurez une application en suivant l'[exercice de mise en route](https://docs.aws.amazon.com/kinesisanalytics/latest/dev/get-started-exercise.html).

1. 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), 
                                      Min_Price     DOUBLE, 
                                      Max_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,
                     MIN(Price) AS Min_Price,
                     MAX(Price) AS Max_Price
       FROM    "SOURCE_SQL_STREAM_001"
       GROUP BY Ticker_Symbol, 
                STEP("SOURCE_SQL_STREAM_001".ROWTIME BY INTERVAL '60' SECOND);
   ```