Influxdb xdb中的聚合流量查询
我是XDB的新手。我使用的是1.8+Influxdb和com.Influxdb:Influxdb客户端java:1.11.0。我的尺寸低于标准Influxdb xdb中的聚合流量查询,influxdb,Influxdb,我是XDB的新手。我使用的是1.8+Influxdb和com.Influxdb:Influxdb客户端java:1.11.0。我的尺寸低于标准 stocks { (tag) symbol: String (field) price: Double (field) volume: Long (time) ts: Long } 我试图在15分钟的时间内查询测量值。我有以下疑问 "from(bucket: \"test/autogen\")"
stocks {
(tag) symbol: String
(field) price: Double
(field) volume: Long
(time) ts: Long
}
我试图在15分钟的时间内查询测量值。我有以下疑问
"from(bucket: \"test/autogen\")" +
" |> range(start: -12h)" +
" |> filter(fn: (r) => (r[\"_measurement\"] == \"$measurementName\" and r[\"_field\"] == \"volume\"))" +
" |> cumulativeSum(columns: [\"_value\"])" +
" |> window(every: 15m, period: 15m)"
我相信上面的查询会计算数据的累积和,只返回volume字段。但是,我希望在单个流量查询中包含整个度量,包括价格、符号和ts以及卷的累积和。我不知道该怎么做。感谢您的帮助。谢谢。谢谢Ethan Zhang。通量输出表对字段使用垂直(按列)数据布局。 请注意,price和volume字段存储为两行。 要实现此结果,可以使用名为v1.fieldsAsCols()的函数将表格从垂直布局转换回水平布局。以下是其文档的链接: 因此,查询可以重写如下:示例查询1
from(bucket: \"test/autogen\")
|> range(start: -1h)
|> filter(fn: (r) => r["_measurement"] == "stocks"))
|> v1.fieldsAsCols()
|> group()
|> cumulativeSum(columns: ["volume"])
|> window(every: 15m, period: 15m)
另一种方法是使用pivot:samplequery2
from(bucket: \"test/autogen\")
|> range(start: -1h)
|> filter(fn: (r) => r["_measurement"] == "stocks")
|> pivot(rowKey:[\"_time\"], columnKey: [\"_field\"], valueColumn: \"_value\")
|> group()
|> cumulativeSum(columns: ["volume"])
|> window(every: 15m, period: 15m)