我想加入两个不同的相同数据库的测量。可以在Influxdb数据库中加入关于时间戳的相同数据库的两个测量。 我在下面的内容中检查了大量的内容: 选择hosta.value + hostb.value 来自cpu_load作为hosta 内部连接cpu_load作为hostb hosta.host =' hosta.influxdb.orb'和hostb.host =' hostb.influxdb.org';
但是可以查询是否两个相同数据库的不同名称的测量我如何加入或者如何在我的情况下实现上述查询? 考虑下面的事情是我的用例 - 假设mydatabase是mydb 有两种测量方法,一种是cpu,另一种是网络:
{
"measurement": "cpu",
"tags": {
"container": cont_name,
},
"fields": {
"Value": 25.78,
}
}
]
{
"measurement": "network",
"tags": {
"container": cont_name,
},
"fields": {
"Value": 96,
}
}
]
我想将上述内容合并到测量中,并希望获得两种测量信息的单次测量?
是否可以合并两个测量值?
另一个问题: 从" cpu"中选择s1.value作为s1 以下错误即将来临: 错误:解析查询错误:找到AS,预期;在第1行,char 39?
答案 0 :(得分:1)
我也花了一些时间对此进行研究,看来在InfluxDB 1.6版中这是不可能的:
当前,无法执行交叉测量数学或分组。所有数据都必须进行一次测量才能一起查询。 InfluxDB并非关系数据库,并且当前不建议使用跨度量的数据映射。有关在InfluxDB中实现JOIN的讨论,请参见GitHub Issue#3552。 – https://docs.influxdata.com/influxdb/v1.2/troubleshooting/frequently-asked-questions/#how-do-i-query-data-across-measurements
该问题已在GitHub上的此处进行跟踪:https://github.com/influxdata/influxdb/issues/3552
答案 1 :(得分:1)
问:是否可以合并两个度量?
A:否。在influx
之前,您无法使用v1.7.0
的新查询语言通过flux
的查询引擎进行跨度量合并。
参考:
https://docs.influxdata.com/flux/v0.7/guides/join
Flux允许您联接两个数据流之间公共的任何列 并为交叉测量联接和 测量中的数学。
在v1.7.0
之前,实现cross-measurement join
的唯一方法是编写脚本/程序。例如。使用influxdb驱动程序读取数据,然后自己手动合并数据集。