Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Interpolationsfunktionen
Wenn in Ihren Zeitreihendaten Werte für Ereignisse zu bestimmten Zeitpunkten fehlen, können Sie die Werte dieser fehlenden Ereignisse mithilfe von Interpolation schätzen. Amazon Timestream unterstützt vier Varianten der Interpolation: lineare Interpolation, kubische Spline-Interpolation, Locf-Interpolation (Last Observation Carried Forward) und konstante Interpolation. Dieser Abschnitt enthält Informationen zur Verwendung von Timestream für Interpolationsfunktionen sowie Beispielabfragen. LiveAnalytics
Nutzungsinformationen
Funktion | Ausgabedatentyp | Beschreibung |
---|---|---|
|
Zeitreihen |
Füllt fehlende Daten mit linearer Interpolation |
|
double |
Füllt fehlende Daten mit linearer |
|
Zeitreihen |
Füllt fehlende Daten mithilfe der kubischen Spline-Interpolation |
|
double |
Füllt fehlende Daten mithilfe der kubischen |
|
Zeitreihen |
Füllt fehlende Daten mit dem zuletzt abgetasteten Wert aus. |
|
double |
Füllt fehlende Daten mit dem zuletzt abgetasteten Wert aus. |
|
Zeitreihen |
Füllt fehlende Daten mit einem konstanten Wert aus. |
|
double |
Füllt fehlende Daten mit einem konstanten Wert aus. |
Abfragebeispiele
Ermittelt die durchschnittliche CPU Auslastung in Intervallen von 30 Sekunden für einen bestimmten EC2 Host in den letzten 2 Stunden und füllt die fehlenden Werte mit linearer Interpolation aus:
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)
Ermitteln Sie die durchschnittliche CPU Auslastung in Intervallen von 30 Sekunden für einen bestimmten EC2 Host in den letzten 2 Stunden und füllen Sie die fehlenden Werte durch Interpolation auf der Grundlage der letzten übertragenen Beobachtung aus:
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)