timeSeriesFirstToGrid
引入版本:v26.10.0 一种聚合函数,接收由时间戳和值组成的数据对形式的时间序列数据,并在由起始时间戳、结束时间戳和步长定义的等间隔时间网格上,基于这些数据计算类似 PromQL 的 first_over_time。对于网格上的每个点,结果为指定时间窗口内最早样本的值。 样本可以通过以下三种形式之一传入:- 以两个参数
timestamp和value的形式传入,每行包含单个样本; - 以时间戳array和值array两个array的形式传入,每行包含一整条时间序列;
- 以由
(timestamp, value)Tuple 组成的单个array的形式传入,每行包含一整条时间序列。
start_timestamp— 指定网格的起点。也可以是小数,或包含数字或日期时间文本的字符串。UInt32或DateTime或DateTime64或Float*或Decimal*或Stringend_timestamp— 指定网格的终点。也可以是小数,或包含数字或日期时间文本的字符串。UInt32或DateTime或DateTime64或Float*或Decimal*或Stringgrid_step— 指定网格的步长 (以秒为单位) 。也可以是小数,或包含数字或时长 (如 ’15s’ 或 ‘1m’) 的字符串。UInt32或Float*或Decimal*或Stringstaleness_window— 指定所纳入样本的最大“陈旧度” (以秒为单位) 。陈旧窗口是一个左开右闭区间。也可以是小数,或包含数字或时长 (如 ’15s’ 或 ‘1m’) 的字符串。UInt32或Float*或Decimal*或String
timestamp— 样本的时间戳。可以是单个值,也可以是array。UInt32或DateTime或DateTime64或Array(UInt32)或Array(DateTime)或Array(DateTime64)value— 与时间戳对应的时间序列值。可以是单个值,也可以是array。Float*或Array(Float*)samples— 以(timestamp, value)元组array形式传入的时间序列样本,其中元组元素的类型分别与上述时间戳和值的类型相同。可替代将时间戳和值分别作为两个参数传入的方式。Array(Tuple(T1, T2))
value 相同。返回的array中,每个时间网格点对应一个值。如果某个网格点在窗口内没有样本,则对应值为 NULL。Array(Nullable(Float*))
示例
在时间网格 [90, 105, 120, 135, 150, 165, 180, 195, 210] 上计算 first_over_time 的值
Query
Response
Query
Response