Inferenza SQL - Amazon CloudWatch

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Inferenza SQL

CloudWatch Metrics Insights utilizza diversi meccanismi per dedurre l'intenzione di una determinata query SQL.

Creazione di bucket di tempo

I punti dati di serie temporali risultanti da una query vengono raggruppati in periodi fissi in base al periodo richiesto. Per aggregare i valori in SQL standard, è necessario definire una clausola RAGGRUPPA PER esplicita per raccogliere insieme tutte le osservazioni di un determinato periodo. Poiché questo è il modo standard per interrogare i dati delle serie temporali, CloudWatch Metrics Insights deduce il time bucketing senza la necessità di esprimere una clausola GROUP BY esplicita.

Ad esempio, quando viene eseguita una query con un periodo di un minuto, tutte le osservazioni appartenenti a quel minuto fino al successivo (escluso) vengono accumulate fino all'ora di inizio del bucket temporale. Ciò rende le istruzioni SQL di Metrics Insights più concise e meno prolisse.

SELECT AVG(CPUUtilization) FROM SCHEMA("AWS/EC2", InstanceId)

La query precedente restituisce una singola serie temporale (coppie valore-timestamp), che rappresenta l'utilizzo medio della CPU di tutte le istanze Amazon EC2. Supponendo che il periodo richiesto sia di un minuto, ogni punto dati restituito rappresenta la media di tutte le osservazioni misurate entro un intervallo specifico di un minuto (orario di inizio incluso, tempo finale escluso). Il timestamp relativo al punto dati specifico è l'ora di inizio del bucket

Proiezione campi

Le query Metrics Insights restituiscono sempre la proiezione del timestamp. Non è necessario specificare una colonna timestamp nella clausola SELEZIONA per ottenere il timestamp di ciascun valore corrispondente del punto dati. Per informazioni dettagliate su come viene calcolato il timestamp, consulta Creazione di bucket di tempo.

Quando si utilizza RAGGRUPPA PER, ogni nome di gruppo viene dedotto e proiettato anche nel risultato, in modo da poter raggruppare le serie temporali restituite.

SELECT AVG(CPUUtilization) FROM SCHEMA("AWS/EC2", InstanceId) GROUP BY InstanceId

La query precedente restituisce una serie temporale per ogni istanza Amazon EC2. Ogni serie temporale viene etichettata dopo il valore dell'ID di istanza.

aggregazione globale ORDINA PER

Quando si utilizza ORDINA PER,FUNZIONE () determina quale funzione di aggregazione ordinare (i valori del punto dati dei parametri sottoposti a query). L'operazione di aggregazione viene eseguita su tutti i punti dati corrispondenti di ogni singola serie temporale nella finestra temporale sottoposta a query.

SELECT AVG(CPUUtilization) FROM SCHEMA("AWS/EC2", InstanceId) GROUP BY InstanceId ORDER BY MAX() LIMIT 10

La query precedente restituisce l'utilizzo della CPU per ogni istanza Amazon EC2, limitando il set di risultati a 10 voci. I risultati vengono ordinati in base al valore massimo delle singole serie temporali all'interno della finestra temporale richiesta. La clausola ORDINA PER viene applicata prima di LIMITE, in modo che l'ordine sia calcolato rispetto a più di 10 serie temporali.