

Per funzionalità simili a Amazon Timestream for, prendi in considerazione Amazon Timestream LiveAnalytics per InfluxDB. Offre un'acquisizione semplificata dei dati e tempi di risposta alle query di una sola cifra di millisecondi per analisi in tempo reale. [Scopri](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html) di più qui.

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

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 sull'utilizzo
<a name="w2aab7c59c13c13c11b7"></a>


| Funzione | Tipo di dati di output | Description | 
| --- | --- | --- | 
|  `interpolate_linear(timeseries, array[timestamp])`  |  serie temporali  |  [Compila i dati mancanti utilizzando l'interpolazione lineare.](https://wikipedia.org/wiki/Linear_interpolation)  | 
|  `interpolate_linear(timeseries, timestamp)`  |  virgola mobile a doppia precisione  |  [Compila i dati mancanti utilizzando l'interpolazione lineare.](https://wikipedia.org/wiki/Linear_interpolation)  | 
|  `interpolate_spline_cubic(timeseries, array[timestamp])`  |  serie temporali  |  Compila i dati mancanti utilizzando l'interpolazione spline [cubica](https://wikiversity.org/wiki/Cubic_Spline_Interpolation#:~:text=Cubic%20spline%20interpolation%20is%20a,Lagrange%20polynomial%20and%20Newton%20polynomial.).  | 
|  `interpolate_spline_cubic(timeseries, timestamp)`  |  virgola mobile a doppia precisione  |  [Compila i dati mancanti utilizzando l'interpolazione spline cubica.](https://wikiversity.org/wiki/Cubic_Spline_Interpolation#:~:text=Cubic%20spline%20interpolation%20is%20a,Lagrange%20polynomial%20and%20Newton%20polynomial.)  | 
|  `interpolate_locf(timeseries, array[timestamp])`  |  serie temporali  |  Compila i dati mancanti utilizzando l'ultimo valore campionato.  | 
|  `interpolate_locf(timeseries, timestamp)`  |  virgola mobile a doppia precisione  |  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)`  |  virgola mobile a doppia precisione  |  Compila i dati mancanti utilizzando un valore costante.  | 

## Esempi di query
<a name="w2aab7c59c13c13c11b9"></a>

**Example**  
Trova l'utilizzo medio della CPU registrato a intervalli di 30 secondi per uno specifico host EC2 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)
```

**Example**  
Trova l'utilizzo medio della CPU eseguito a intervalli di 30 secondi per uno specifico host EC2 nelle ultime 2 ore, inserendo i valori mancanti utilizzando l'interpolazione basata sull'ultima osservazione riportata:  

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