是否可以在 InfluxDB 中定义自定义聚合?

Is it possible to define custom aggregates in InfluxDB?

我目前正在使用(滥用?)Postgres 来存储时间序列数据,考虑到现在消耗的数据量,我需要迁移到支持连续查询和保留政策。我正在查看 InfluxDB,唯一阻碍我的是定义自定义聚合的能力。我目前有一个在 Postgres 中定义的自定义聚合,它计算基于 table 的数据的加权平均值,权重由其中一列中的值确定。例如,我有一个 score 列,其值介于 1 和 9 之间。在计算加权平均分数时,如果分数介于 4 和 6 之间,我将分数乘以 10,如果分数介于 7 和 9 之间,则乘以 1,000在计算平均值之前。

是否可以在 InfluxDB 中做类似的事情?

目前 InfluxDB 不允许在 InfluxQL 中使用用户定义的函数。

您可以在 Kapacitor 中同时使用 InfluxDB 和 Kapacitor together to achieve what you're trying to do. Particularly you'd use the User Defined Function Node 来定义加权平均 UDF,然后将 UDF 的结果写回 InfluxDB。