Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >InfluxDB: with与多重测量

InfluxDB: with与多重测量
EN

Stack Overflow用户
提问于 2019-01-02 21:48:01
回答 1查看 1.1K关注 0票数 1

我试图将两个度量的聚合结果写入一个度量中。

我在文档中发现,您可以用:MEASUREMENT关键字在转成查询中编写多个匹配的度量。喜欢

代码语言:javascript
运行
AI代码解释
复制
SELECT * INTO "copy_NOAA_water_database"."autogen".:MEASUREMENT FROM 
"NOAA_water_database"."autogen"./.*/

我要做的是从多个度量中聚合,并将结果写入单个度量。

代码语言:javascript
运行
AI代码解释
复制
SELECT mean("water_level") INTO 
"copy_NOAA_water_database"."autogen"."water_agg" FROM 
"NOAA_water_database"."autogen"./.*/ GROUP BY time(15m), *

上面的查询运行成功,但我不确定流入是否考虑了来自所有NOAA_water_database度量的点,还是只考虑了最后出现的度量。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-03 03:13:31

Q:,我不确定内流是否考虑了NOAA_water_database的所有测量点,还是只考虑了最后出现的测量值。

A:我怀疑influxdb没有从您的度量中聚合数据。

我认为它只是单独地聚合来自每个测量的数据,然后对于每个输出将其写入指定的度量,并且由于mean操作的解析mean可能是相同的,测量B的结果可以覆盖测量A的结果。

我通过使用以下数据集进行实验得出了这一理论;

代码语言:javascript
运行
AI代码解释
复制
INSERT cpu,host=serverA value=10
INSERT cpu,host=serverA value=20

INSERT cpu2,host=serverA value=5
INSERT cpu2,host=serverA value=15

执行类似于上述查询的SELECT语句;

代码语言:javascript
运行
AI代码解释
复制
select * FROM "historian"."autogen"./cpu.*/
name: cpu
time                host    value
----                ----    -----
1546511130857357196 serverA 10
1546511132744883738 serverA 20

name: cpu2
time                host    value
----                ----    -----
1546511156629403118 serverA 5
1546511157888695746 serverA 15

然后,我不使用mean,而是使用sum来测试进水数据库的行为。我还通过删除groupBy操作简化了查询。

做一个sum给了我;

代码语言:javascript
运行
AI代码解释
复制
SELECT sum("value") INTO test_sum FROM "historian"."autogen"./.*/ 
name: result
time written
---- -------
0    2
> select * from test_sum;
name: test_sum
time sum
---- ---
0    20

理论:如果influx将来自所有测量数据的数据进行聚合,则结果的总和将不是20。应该是50。唯一能得到20的方法是通过对5 + 15的求和,这是最后一次测量的数据。

但是当我们执行sum操作时,influx确实告诉我们写了2行。我的理论是,由于第一次和第二次和的结果时间都是0,因此第二次测量的结果会覆盖第一个结果,因此流入计算确实计算了第一次测量的和。

推荐的解决方案:--完成这项工作的最佳工具--实际上是influxdb的卡布托。这是一个伟大的工具,因为它是快速的,但它也是极其值得学习的。

或者,如果您的数据集不是很大,我怀疑它应该是好的,因为您是grouping到15m。您可以用自己喜欢的编程语言编写一个脚本,读取数据,执行mean,然后将数据写回influxdb

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54016955

复制
相关文章

相似问题

InfluxDB :单测量还是多测量

47

Influxdb .测量数据的计数

19

跨测量的InfluxDB数学

12

Grafana - InfluxDB -和多重级数

17

测量多重属性?

27
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档