Tables par agrégation
Une table est créée par agrégation d’un stream :
CREATE TABLE avg_temps_per_city AS
SELECT
ville,
AVG(temperature) AS avg_temp
FROM iot_stream_data
WINDOW TUMBLING (SIZE 10 MINUTES)
GROUP BY ville
EMIT CHANGES;Calcule la température moyenne par ville sur fenêtres de 10 minutes.
EMIT CHANGES : émet les mises à jour au fur et à mesure.
Exemple de résultat
Interrogation de la table :
SELECT
ville,
TIMESTAMPTOSTRING(WINDOWSTART, 'yyyy-MM-dd HH:mm:ss', 'Europe/Paris') AS window_start,
TIMESTAMPTOSTRING(WINDOWEND, 'yyyy-MM-dd HH:mm:ss', 'Europe/Paris') AS window_end,
avg_temp
FROM avg_temps_per_city;Résultat :
VILLE WINDOW_START WINDOW_END AVG_TEMP
Clermont-Ferrand 2025-10-06 10:50:00 2025-10-06 11:00:00 21.34
Clermont-Ferrand 2025-10-06 11:00:00 2025-10-06 11:10:00 20.03
Montpellier 2025-10-06 10:50:00 2025-10-06 11:00:00 20.24
Bordeaux 2025-10-06 10:50:00 2025-10-06 11:00:00 21.33
Lyon 2025-10-06 10:50:00 2025-10-06 11:00:00 21.06
Paris 2025-10-06 10:50:00 2025-10-06 11:00:00 20.57
Chaque ligne représente une fenêtre temporelle pour une ville.