Influxdb 向XDB中的聚合数据添加标记

Influxdb 向XDB中的聚合数据添加标记,influxdb,influxql,Influxdb,Influxql,我在理解如何将标记添加到数据系列时遇到困难,因为我在查询中选择了。我对我使用案例和死亡字段作为字段以及州和县信息作为标记的位置有一定的了解 我可以在如下查询中聚合相邻县的数据: SELECT sum("cases") AS "cases" FROM "ny_covid"."autogen"."value" WHERE ("state"='Pennsylvania') AND ("county"='Philadelphia' OR "county"='Delaware') GROUP BY tim

我在理解如何将标记添加到数据系列时遇到困难,因为我在查询中选择了
。我对我使用
案例
死亡
字段作为
字段
以及
信息作为标记的位置有一定的了解

我可以在如下查询中聚合相邻县的数据:

SELECT sum("cases") AS "cases" FROM "ny_covid"."autogen"."value" WHERE ("state"='Pennsylvania') AND ("county"='Philadelphia' OR "county"='Delaware') GROUP BY time(1d) FILL(null)
SELECT sum("cases") AS "cases" INTO "new_covid"."autogen"."value" FROM "ny_covid"."autogen"."value" WHERE ("state"='Pennsylvania') AND ("county"='Philadelphia' OR "county"='Delaware') GROUP BY time(1d) FILL(null)
这很好用。但我想将这些聚合数据保存到一个新的数据库中,以便进行其他查询。我可以这样做:

SELECT sum("cases") AS "cases" FROM "ny_covid"."autogen"."value" WHERE ("state"='Pennsylvania') AND ("county"='Philadelphia' OR "county"='Delaware') GROUP BY time(1d) FILL(null)
SELECT sum("cases") AS "cases" INTO "new_covid"."autogen"."value" FROM "ny_covid"."autogen"."value" WHERE ("state"='Pennsylvania') AND ("county"='Philadelphia' OR "county"='Delaware') GROUP BY time(1d) FILL(null)
我的问题是,如何向刚刚插入到
new\u covid
数据库的数据中添加类似
location=Philly
的标记?因为,我想做一些其他位置级别的聚合,而
标记
似乎是保持这些值不同的方法

SELECT sum("cases") AS "cases" INTO "new_covid"."autogen"."value" FROM "ny_covid"."autogen"."value" WHERE ("state"='Pennsylvania') AND ("county"='Dauphin' OR "county"='Lancaster') GROUP BY time(1d) FILL(null)

我所做的所有搜索都是关于在查询中使用标记或在跨数据库复制时保留它们。但是我还没有找到任何关于将
SELECT中的标签附加到
type语句中的内容

您可以通过使用所需的功能轻松获得所需的功能,这是滴答堆栈中XDB的补充部分。 但是,除了XDB本身,还需要使用

Kapacitor将执行用TICKscript语言编写的任务来操作数据。Chronograf提供了一个Web UI来配置XDB和Kapacitor

从您的问题中查找InfluxQL查询的TICKscript任务示例:

var b1=batch
|查询(“”)
选择总和(“案例”)作为“案例”
来自“纽约新冠病毒”,“自动生成”,“值”
其中(“州”=“宾夕法尼亚”)和(“郡”=“费城”或“郡”=“特拉华”)
''')
.偏移量(1d)
.期间(1d)
.cron(“@午夜”)
.groupBy(时间(1d))
//将转换后的数据写入XDB
|()
.数据库('new_covid')
.retentionPolicy(“autogen”)
.测量(“值”)
.tag('位置','费城')
var b2=批次
|查询(“”)
选择总和(“案例”)作为“案例”
来自“纽约新冠病毒”,“自动生成”,“值”
其中(“州”='Pennsylvania')和(“郡”='Dauphin'或“郡”='Lancaster')
''')
.偏移量(1d)
.期间(1d)
.cron(“@午夜”)
.groupBy(时间(1d))
//将转换后的数据写入XDB
|()
.数据库('new_covid')
.retentionPolicy(“autogen”)
.测量(“值”)
.tag('location','Dauphy')
而且,这不是获得这样结果的一种方法。你也可以检查一下,而不是上面提到的

运行此代码所需的只是为kapacitor创建新任务:

Chronograf->警报选项卡->管理任务->TICKscript部分中的“+写入TICKscript”按钮


要获得完整的TICKstack环境,您可以使用

是否确实需要创建新标记?为什么不能重用现有的标记
state,county
?@JanGaraj,因为我想将6个县的
sum
的标记作为新数据库中的一个新区域添加。这样我就可以通过标签将它们从新冠病毒数据库中提取出来,并将其与匹兹堡周围的7个县或哈里斯堡周围的8个县区分开来。我也不知道如何将标签从以前的数据库转移到新的数据库中。这也是一个一般性问题:“如何将标签添加到使用
SELECT-INTO
语句插入的数据中”?好的,那么您需要在应用程序/自己的代码级别上执行此操作:
SELECT-data;在数据中添加新标签;插入数据。使用您最喜欢的支持XDB的语言(例如python)并编写代码。在执行
SELECT-INTO
语句时,是否真的无法添加标记?添加标记的唯一方法是从一个数据库中提取数据,然后重新插入。相反,在
SELECT INTO
语句中区分聚合的唯一方法是将它们发送到不同的
字段
?不,您还有其他选项。例如:加入XDB,说服团队这是一个重要的特性,所以它将被实现/分叉源代码并自己实现。InfluxQL不是SQL,我不认为这个特性在timeseries世界中被广泛使用。使用更好的数据库,这将符合您的需要。也许XDB 2.0(仍然是beta版)会更好-它支持多数据存储世界-您还可以连接关系数据库=也许您将能够使用它作为数据转换的“临时”存储,在这里您可以使用好的旧SQL。