As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Funções de interpolação
Se seus dados de série temporal não tiverem valores para eventos em determinados momentos, você poderá estimar os valores desses eventos ausentes usando a interpolação. O Amazon Timestream oferece suporte a quatro variantes de interpolação: interpolação linear, interpolação por spline cúbica, interpolação por última observação transportada (locf) e interpolação constante. Esta seção fornece informações de uso do Timestream para funções de LiveAnalytics interpolação, bem como exemplos de consultas.
Informações de uso
Função | Tipo de dados de saída | Descrição |
---|---|---|
|
série temporal |
Preenche os dados ausentes usando interpolação linear |
|
double |
Preenche os dados ausentes usando interpolação linear |
|
série temporal |
Preenche os dados ausentes usando a interpolação de spline cúbica |
|
double |
Preenche os dados ausentes usando a interpolação de spline cúbica |
|
série temporal |
Preenche os dados ausentes usando o último valor amostrado. |
|
double |
Preenche os dados ausentes usando o último valor amostrado. |
|
série temporal |
Preenche os dados ausentes usando um valor constante. |
|
double |
Preenche os dados ausentes usando um valor constante. |
Exemplos de consulta
Encontre a CPU utilização média armazenada em intervalos de 30 segundos para um EC2 host específico nas últimas 2 horas, preenchendo os valores ausentes usando a interpolação linear:
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)
Encontre a CPU utilização média armazenada em intervalos de 30 segundos para um EC2 hospedeiro específico nas últimas 2 horas, preenchendo os valores ausentes usando a interpolação com base na última observação realizada:
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)