插值查询
更新时间:2019-06-14
在查询时可以将数据进行插值,即使没有数据写入,也可以将数据按照一定的插值算法查询出来。目前支持Linear(线性插值)、Previous(按前一个值插值)、Fixed(固定值插值)三种插值算法。
Linear:
Previous:
Fixed:
查询时,需要设定最大写入间隔,如15min,即一个时间序列数据的最大写入间隔,TSDB认为在此间隔内必然有值。系统会尝试查找从(start - maxWriteInterval)到start,以及end到(end + maxWriteInterval)的点。
如果(start - maxWriteInterval)到start找不到点,则start到end间第一个点之前的缺少的点会按第一个点的值进行插值;
如果end到(end + maxWriteInterval)找不到点,则start到end间最后一个点之后的缺少的点会按最后一个点的值进行插值。
用Previous插值来举例,如下图,实心的点是实际上传的点,空心的点是系统补的点。