我目前正在研究 influxdb2 和 flux。我的游乐场是,抓取一个公共网站,并能够在 Grafana 的词云中可视化网站上的文字。这行得通,但是当我在 Grafana 中的范围选择导致多个结果时,这些词会出现两次或更多次 - 取决于结果的数量。
我的电流流量查询
from(bucket: v.bucket)
|> range(start: v.timeRangeStart, stop:v.timeRangeStop)
|> filter(fn: (r) => r._measurement == "wordcount" )
|> group(columns: ["items"])
|> sort(columns: ["_value"], desc: true)
我的目标是将所有结果行组合成一个结果,该结果包含所选范围内单词的平均出现次数。示例行
fields
值:
{"field1": 2, "field2": 1, "field3": 4}
{"field1": 2, "field2": 1, "field4": 0}
想要的结果:
{"field1": 4, "field2": 2, "field3": 4, "field4": 0}
那将如何完成?
在Grafana论坛的帮助下,我能够拼凑出一个解决问题的可行方案。完整的查询现在如下所示。
timestart = uint(v: v.timeRangeStart)
timestop = uint(v: v.timeRangeStop)
duration = duration(v:timestop - timestart)
from(bucket: "tagesschau-scraper")
|> range(start: v.timeRangeStart, stop:v.timeRangeStop)
|> filter(fn: (r) => r._measurement == "wordcount" )
|> aggregateWindow(every: duration, fn: sum)
|> group(columns: ["items"])
|> sort(columns: ["_value"], desc: true)