

Für ähnliche Funktionen wie Amazon Timestream für sollten Sie Amazon Timestream for LiveAnalytics InfluxDB in Betracht ziehen. Es bietet eine vereinfachte Datenaufnahme und Antwortzeiten im einstelligen Millisekundenbereich für Analysen in Echtzeit. [Erfahren](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html) Sie hier mehr.

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
<a name="timeseries-specific-constructs.functions.interpolation"></a>

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 



## Informationen zur Nutzung
<a name="w2aab7c59c13c13c11b7"></a>


| Funktion | Ausgabedatentyp | Description | 
| --- | --- | --- | 
|  `interpolate_linear(timeseries, array[timestamp])`  |  Zeitreihen  |  Füllt fehlende Daten mit [linearer Interpolation](https://wikipedia.org/wiki/Linear_interpolation) aus.  | 
|  `interpolate_linear(timeseries, timestamp)`  |  double  |  Füllt fehlende Daten mit [linearer](https://wikipedia.org/wiki/Linear_interpolation) Interpolation aus.  | 
|  `interpolate_spline_cubic(timeseries, array[timestamp])`  |  Zeitreihen  |  Füllt fehlende Daten mithilfe der [kubischen Spline-Interpolation](https://wikiversity.org/wiki/Cubic_Spline_Interpolation#:~:text=Cubic%20spline%20interpolation%20is%20a,Lagrange%20polynomial%20and%20Newton%20polynomial.) aus.  | 
|  `interpolate_spline_cubic(timeseries, timestamp)`  |  double  |  Füllt fehlende Daten mithilfe der [kubischen](https://wikiversity.org/wiki/Cubic_Spline_Interpolation#:~:text=Cubic%20spline%20interpolation%20is%20a,Lagrange%20polynomial%20and%20Newton%20polynomial.) Spline-Interpolation aus.  | 
|  `interpolate_locf(timeseries, array[timestamp])`  |  Zeitreihen  |  Füllt fehlende Daten mit dem zuletzt abgetasteten Wert aus.  | 
|  `interpolate_locf(timeseries, timestamp)`  |  double  |  Füllt fehlende Daten mit dem zuletzt abgetasteten Wert aus.  | 
|  `interpolate_fill(timeseries, array[timestamp], double)`  |  Zeitreihen  |  Füllt fehlende Daten mit einem konstanten Wert aus.  | 
|  `interpolate_fill(timeseries, timestamp, double)`  |  double  |  Füllt fehlende Daten mit einem konstanten Wert aus.  | 

## Abfragebeispiele
<a name="w2aab7c59c13c13c11b9"></a>

**Example**  
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)
```

**Example**  
Ermitteln Sie die durchschnittliche CPU-Auslastung in 30-Sekunden-Intervallen 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 übernommenen 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)
```