Funciones de interpolación - Amazon Timestream

Para obtener capacidades similares a las de Amazon Timestream, considere Amazon Timestream LiveAnalytics para InfluxDB. Ofrece una ingesta de datos simplificada y tiempos de respuesta a las consultas en milisegundos de un solo dígito para realizar análisis en tiempo real. Obtenga más información aquí.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Funciones de interpolación

Si a los datos de serie temporal les faltan valores para los eventos en determinados momentos, puede estimar los valores de esos eventos faltantes mediante la interpolación. Amazon Timestream admite cuatro variantes de interpolación: interpolación lineal, interpolación de spline cúbica, interpolación de última observación transferida (locf) e interpolación constante. En esta sección se proporciona información sobre el uso de Timestream para las funciones de LiveAnalytics interpolación, así como ejemplos de consultas.

Información de uso

Función Tipo de datos de salida Description (Descripción)

interpolate_linear(timeseries, array[timestamp])

Serie temporal

Rellena los datos faltantes mediante interpolación lineal.

interpolate_linear(timeseries, timestamp)

double

Rellena los datos faltantes mediante interpolación lineal.

interpolate_spline_cubic(timeseries, array[timestamp])

Serie temporal

Rellena los datos faltantes mediante la interpolación de ranuras cúbicas.

interpolate_spline_cubic(timeseries, timestamp)

double

Rellena los datos faltantes mediante la interpolación de ranuras cúbicas.

interpolate_locf(timeseries, array[timestamp])

Serie temporal

Rellena los datos faltantes con el último valor muestreado.

interpolate_locf(timeseries, timestamp)

double

Rellena los datos faltantes con el último valor muestreado.

interpolate_fill(timeseries, array[timestamp], double)

Serie temporal

Rellena los datos faltantes con un valor constante.

interpolate_fill(timeseries, timestamp, double)

double

Rellena los datos faltantes con un valor constante.

Consultas de ejemplo

ejemplo

Calcular la media de uso de la CPU agrupada en intervalos de 30 segundos para un host EC2 específico durante las últimas 2 horas, y rellenar los valores faltantes mediante la interpolación lineal:

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)
ejemplo

Calcular la media de uso de la CPU agrupada en intervalos de 30 segundos para un host EC2 específico durante las últimas 2 horas, y rellenar los valores faltantes mediante la interpolación lineal en función de la última observación disponible:

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)