我在 KairosDB 中有一组传感器数据。要查询数据,需要开始时间和结束时间。
现在,我的问题是如何知道整个数据库的开始时间和结束时间?
更进一步,如何知道每个指标的开始时间和结束时间?
我在 KairosDB 中有一组传感器数据。要查询数据,需要开始时间和结束时间。
现在,我的问题是如何知道整个数据库的开始时间和结束时间?
更进一步,如何知道每个指标的开始时间和结束时间?
基本上同样的问题围绕着这个问题。
据我所知,没有直接的选择。
作为一种代价高昂的解决方法(就为此花费的 CPU 时间而言代价高昂),可以像这样查询数据
{
"metrics": [
{
"tags": {
"aggr": [
"yourDataPointTags_1"
]
},
"name": "yourMetric_1",
"aggregators": [
{
"name": "first",
"align_sampling": true,
"sampling": {
"value": "1",
"unit": "months"
}
},
{
"name": "last",
"align_sampling": true,
"sampling": {
"value": "1",
"unit": "months"
}
}
]
}
],
"cache_time": 0,
"start_relative": {
"value": "5",
"unit": "years"
}
}
通过这样的查询,您可以获得每个月的第一个和最后一个数据点。
因此,在结果中,第一个条目时间戳是传感器数据的第一个数据点,最后一个是最后一个现有数据点。
但请注意,这只是过去 5 年的查询。而对于 kairosDB 来说,这是一个巨大的问题,因为对于这样的查询,所有的数据点都会被处理。
所以基本上你有责任为每个指标存储信息[开始,结束]。