Fungsi interpolasi - Amazon Timestream

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Fungsi interpolasi

Jika data deret waktu Anda kehilangan nilai untuk peristiwa pada titik waktu tertentu, Anda dapat memperkirakan nilai peristiwa yang hilang tersebut menggunakan interpolasi. Amazon Timestream mendukung empat varian interpolasi: interpolasi linier, interpolasi spline kubik, interpolasi observasi terakhir dilakukan (locf), dan interpolasi konstan. Bagian ini menyediakan informasi penggunaan untuk Timestream untuk fungsi LiveAnalytics interpolasi, serta kueri sampel.

Informasi penggunaan

Fungsi Tipe data keluaran Deskripsi

interpolate_linear(timeseries, array[timestamp])

timeseries

Mengisi data yang hilang menggunakan interpolasi linier.

interpolate_linear(timeseries, timestamp)

double

Mengisi data yang hilang menggunakan interpolasi linier.

interpolate_spline_cubic(timeseries, array[timestamp])

timeseries

Mengisi data yang hilang menggunakan interpolasi spline kubik.

interpolate_spline_cubic(timeseries, timestamp)

double

Mengisi data yang hilang menggunakan interpolasi spline kubik.

interpolate_locf(timeseries, array[timestamp])

timeseries

Mengisi data yang hilang menggunakan nilai sampel terakhir.

interpolate_locf(timeseries, timestamp)

double

Mengisi data yang hilang menggunakan nilai sampel terakhir.

interpolate_fill(timeseries, array[timestamp], double)

timeseries

Mengisi data yang hilang menggunakan nilai konstan.

interpolate_fill(timeseries, timestamp, double)

double

Mengisi data yang hilang menggunakan nilai konstan.

Contoh kueri

Temukan CPU pemanfaatan rata-rata yang di-binned pada interval 30 detik untuk EC2 host tertentu selama 2 jam terakhir, mengisi nilai yang hilang menggunakan interpolasi linier:

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)

Temukan CPU pemanfaatan rata-rata yang di-binned pada interval 30 detik untuk EC2 host tertentu selama 2 jam terakhir, mengisi nilai yang hilang menggunakan interpolasi berdasarkan pengamatan terakhir yang dilakukan ke depan:

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)