Funzioni di interpolazione - Amazon Timestream

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à.

Funzioni di interpolazione

Se nei dati delle serie temporali mancano valori per gli eventi in determinati momenti, puoi stimare i valori di tali eventi mancanti utilizzando l'interpolazione. Amazon Timestream supporta quattro varianti di interpolazione: interpolazione lineare, interpolazione spline cubica, interpolazione dell'ultima osservazione portata avanti (locf) e interpolazione costante. Questa sezione fornisce informazioni sull'utilizzo di Timestream per le funzioni di interpolazione, oltre a query di esempio. LiveAnalytics

Informazioni di utilizzo

Funzione Tipo di dati di output Descrizione

interpolate_linear(timeseries, array[timestamp])

serie temporali

Compila i dati mancanti utilizzando l'interpolazione lineare.

interpolate_linear(timeseries, timestamp)

double

Compila i dati mancanti utilizzando l'interpolazione lineare.

interpolate_spline_cubic(timeseries, array[timestamp])

serie temporali

Compila i dati mancanti utilizzando l'interpolazione spline cubica.

interpolate_spline_cubic(timeseries, timestamp)

double

Compila i dati mancanti utilizzando l'interpolazione spline cubica.

interpolate_locf(timeseries, array[timestamp])

serie temporali

Compila i dati mancanti utilizzando l'ultimo valore campionato.

interpolate_locf(timeseries, timestamp)

double

Compila i dati mancanti utilizzando l'ultimo valore campionato.

interpolate_fill(timeseries, array[timestamp], double)

serie temporali

Compila i dati mancanti utilizzando un valore costante.

interpolate_fill(timeseries, timestamp, double)

double

Compila i dati mancanti utilizzando un valore costante.

Esempi di query

Trova l'CPUutilizzo medio suddiviso a intervalli di 30 secondi per un EC2 host specifico nelle ultime 2 ore, inserendo i valori mancanti utilizzando l'interpolazione lineare:

WITH binned_timeseries AS ( SELECT hostname, BIN(time, 30s) AS binned_timestamp, ROUND(AVG(measure_value::double), 2) AS avg_cpu_utilization FROM "sampleDB".DevOps WHERE measure_name = 'cpu_utilization' AND hostname = 'host-Hovjv' AND time > ago(2h) GROUP BY hostname, BIN(time, 30s) ), interpolated_timeseries AS ( SELECT hostname, INTERPOLATE_LINEAR( CREATE_TIME_SERIES(binned_timestamp, avg_cpu_utilization), SEQUENCE(min(binned_timestamp), max(binned_timestamp), 15s)) AS interpolated_avg_cpu_utilization FROM binned_timeseries GROUP BY hostname ) SELECT time, ROUND(value, 2) AS interpolated_cpu FROM interpolated_timeseries CROSS JOIN UNNEST(interpolated_avg_cpu_utilization)

Trova l'CPUutilizzo medio raggruppato a intervalli di 30 secondi per un EC2 host specifico nelle ultime 2 ore, inserendo i valori mancanti utilizzando l'interpolazione basata sull'ultima osservazione effettuata:

WITH binned_timeseries AS ( SELECT hostname, BIN(time, 30s) AS binned_timestamp, ROUND(AVG(measure_value::double), 2) AS avg_cpu_utilization FROM "sampleDB".DevOps WHERE measure_name = 'cpu_utilization' AND hostname = 'host-Hovjv' AND time > ago(2h) GROUP BY hostname, BIN(time, 30s) ), interpolated_timeseries AS ( SELECT hostname, INTERPOLATE_LOCF( CREATE_TIME_SERIES(binned_timestamp, avg_cpu_utilization), SEQUENCE(min(binned_timestamp), max(binned_timestamp), 15s)) AS interpolated_avg_cpu_utilization FROM binned_timeseries GROUP BY hostname ) SELECT time, ROUND(value, 2) AS interpolated_cpu FROM interpolated_timeseries CROSS JOIN UNNEST(interpolated_avg_cpu_utilization)