Influxdb 0.9 documentation给出了一个通过简单地执行GROUP BY time(<some interval>), *
来保存连续查询(CQ)上的所有标签的示例
有没有办法从原始标签集中保留我可能感兴趣的标签子集?
例如,如果我有measurement_a
:和标签:tag_1
、tag_2
、tag_3
和field:field_1
我想创建一个CQ,它从measurement_a
中选择,然后只用tag_a
插入到measurement_cq_a
中。它的语法是什么?
我试过了
CREATE CONTINUOUS QUERY measurement_cq_a ON metrics BEGIN SELECT SUM(value) as sum_val, tag_a INTO "measurement_cq_a" FROM "measurement_a" WHERE time > now() - 1h GROUP BY time(5m), tag_a END
但这会导致influx崩溃,并出现"index out of range“错误/恐慌。
panic: runtime error: index out of range
goroutine 23 [running]:
github.com/influxdb/influxdb/services/continuous_querier.(*Service).convertRowToPoints(0xc208010310, 0xc210207dd0, 0x21, 0xc21045f3e0, 0x0, 0x0
, 0x0, 0x0, 0x0)
/root/.gvm/pkgsets/go1.4.2/global/src/github.com/influxdb/influxdb/services/continuous_querier/service.go:349 +0x6ec
github.com/influxdb/influxdb/services/continuous_querier.(*Service).runContinuousQueryAndWriteResult(0xc208010310, 0xc20c5f4240, 0x0, 0x0)
/root/.gvm/pkgsets/go1.4.2/global/src/github.com/influxdb/influxdb/services/continuous_querier/service.go:287 +0x2f4
github.com/influxdb/influxdb/services/continuous_querier.(*Service).ExecuteContinuousQuery(0xc208010310, 0xc2101b52c0, 0xc210214460, 0x0, 0x0)
/root/.gvm/pkgsets/go1.4.2/global/src/github.com/influxdb/influxdb/services/continuous_querier/service.go:256 +0xb0f
github.com/influxdb/influxdb/services/continuous_querier.(*Service).runContinuousQueries(0xc208010310)
/root/.gvm/pkgsets/go1.4.2/global/src/github.com/influxdb/influxdb/services/continuous_querier/service.go:178 +0x32a
github.com/influxdb/influxdb/services/continuous_querier.(*Service).backgroundLoop(0xc208010310)
/root/.gvm/pkgsets/go1.4.2/global/src/github.com/influxdb/influxdb/services/continuous_querier/service.go:160 +0x1d8
created by github.com/influxdb/influxdb/services/continuous_querier.(*Service).Open
/root/.gvm/pkgsets/go1.4.2/global/src/github.com/influxdb/influxdb/services/continuous_querier/service.go:87 +0x1ed
我正在对Influx 0.9.0进行测试
发布于 2015-11-06 22:57:23
只是为了让其他人知道我犯了个愚蠢的错误。
要运行的正确查询似乎是:CREATE CONTINUOUS QUERY measurement_cq_a ON metrics BEGIN SELECT SUM(value) as sum_val INTO "measurement_cq_a" FROM "measurement_a" WHERE time > now() - 1h GROUP BY time(5m), tag_a END
我试着(错)了:
CREATE CONTINUOUS QUERY measurement_cq_a ON metrics BEGIN SELECT SUM(value) as sum_val, **tag_a** INTO "measurement_cq_a" FROM "measurement_a" WHERE time > now() - 1h GROUP BY time(5m), tag_a END
注意:对于那些想知道的人来说..由于0.9.0中的一个bug,我需要在查询中使用WHERE子句。我认为这个问题已经在0.9.1版本中修复了
https://stackoverflow.com/questions/33558227
复制相似问题