Skip to main content

timeSeriesIncreaseToGrid

引入版本:v26.8.0 聚合函数,接收由时间戳与值成对组成的时间序列数据,并在由起始时间戳、结束时间戳和步长定义的等间隔时间网格上,基于这些数据计算类似 PromQL 的 increase。对于网格上的每个点,用于计算 increase 的样本均取自指定的时间窗口。 该值是计数器在窗口内经外推得到的总增量。相邻样本之间出现的下降会被视为计数器重置,并计入增量,因此即使计数器从零重新开始计数,结果仍能反映其累计增长。 样本可以通过以下三种形式之一传入:
  • 作为两个参数 timestamp 和 value 传入,每行包含一个样本;
  • 作为时间戳 array 和值 array 这两个 array 传入,每行包含一整条时间序列;
  • 作为由 (timestamp, value) Tuple 组成的单个 array 传入,每行包含一整条时间序列。
如果多个样本具有相同的时间戳,则只使用其中值最大的那个样本。非数字 (NaN) 值比任何其他值都小,因此只有当该时间戳下的所有样本均为 NaN 时,才会使用 NaN 值。
此函数处于私有预览阶段,可通过设置 enable_time_series_aggregate_functions=true 启用。
语法
参数
  • start_timestamp — 指定网格的起点。也可以是小数,或包含数字或日期时间文本的字符串。UInt32 或 DateTime 或 DateTime64 或 Float* 或 Decimal* 或 String
  • end_timestamp — 指定网格的终点。也可以是小数,或包含数字或日期时间文本的字符串。UInt32 或 DateTime 或 DateTime64 或 Float* 或 Decimal* 或 String
  • grid_step — 指定网格的步长 (单位为秒) 。也可以是小数,或包含数字或时长 (如 ’15s’ 或 ‘1m’) 的字符串。UInt32 或 Float* 或 Decimal* 或 String
  • staleness — 指定参与计算的样本的最大陈旧时间 (单位为秒) 。陈旧窗口为左开右闭区间。也可以是小数,或包含数字或时长 (如 ’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) Tuple array 形式传入的时间序列样本,其中 Tuple 元素的类型分别为上文所列的时间戳类型和值类型。可用于替代将时间戳和值作为两个独立参数传入的方式。Array(Tuple(T1, T2))
返回值 返回指定网格上的增量值。返回的 array 中,每个时间网格点对应一个值。如果窗口内的样本不足以计算某个网格点的增量值,则该值为 NULL。Array(Nullable(Float64)) 示例 基本用法:使用单独的时间戳-值对
Query
Response
使用 array 参数
Query
Response
最后修改于 2026年10月14日