是否可以在 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。
我目前正在使用(滥用?)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。