我目前正在使用(滥用?)Postgres存储时间序列数据,并且考虑到现在正在消耗的数据量,我需要迁移到支持连续查询和保留策略的真实时间序列数据库。我正在关注InfluxDB,唯一阻碍我的是能够定义自定义聚合。我目前在Postgres中定义了一个自定义聚合,它根据表中的数据计算加权平均值,权重由其中一列中的值确定。例如,我有一个score
列,其值介于1和9之间。当计算加权平均分时,如果分数在4到6之间,我将得分乘以10,如果在7到9之间,则将其乘以1,000在计算平均值之前。
可以在InfluxDB中做类似的事情吗?
答案 0 :(得分:1)
目前InfluxDB不允许在InfluxQL中使用用户定义的函数。
您可以同时使用InfluxDB和Kapacitor来实现您尝试做的事情。特别是你使用Kapacitor中的User Defined Function Node来定义加权平均UDF,然后将UDF的结果写回InfluxDB。