Skip to main content

timeSeriesChangesToGrid

引入于:v25.6.0 该聚合函数将时间序列数据视为由时间戳和值组成的成对数据,并在由起始时间戳、结束时间戳和步长定义的规则时间网格上,基于这些数据计算类似 PromQL 的 changes。对于网格上的每个点,会在指定的时间窗口内选取样本来计算 changes。 样本可以通过以下三种形式之一传入:
  • 作为两个参数 timestamp 和 value,其中每行保存一个样本;
  • 作为时间戳数组和值数组这两个数组,其中每行保存一整条时间序列;
  • 作为由 (timestamp, value) 元组组成的单个数组,其中每行保存一整条时间序列。
如果多个样本具有相同的时间戳,则仅使用其中一个:值最大的样本。非数字值会输给任何其他值,因此仅当该时间戳处的所有样本均为非数字值时,才会使用非数字值。
此函数处于私有预览阶段,可通过设置 enable_time_series_aggregate_functions=true 启用。
语法
参数
  • start_timestamp — 指定网格的起始时间。使用 DateTime64 时间戳参数时,还可以是小数,或包含数字或日期时间文本的字符串。UInt32 或 DateTime 或 DateTime64 或 Float* 或 Decimal* 或 String
  • end_timestamp — 指定网格的结束时间。使用 DateTime64 时间戳参数时,还可以是小数,或包含数字或日期时间文本的字符串。UInt32 或 DateTime 或 DateTime64 或 Float* 或 Decimal* 或 String
  • grid_step — 指定网格步长 (以秒为单位) 。使用 DateTime64 时间戳参数时,还可以是小数,或包含数字或类似 ’15s’ 或 ‘1m’ 的时长的字符串。UInt32 或 Float* 或 Decimal* 或 String
  • staleness — 指定所考虑样本允许的最大 “陈旧” 时间 (以秒为单位) 。使用 DateTime64 时间戳参数时,还可以是小数,或包含数字或类似 ’15s’ 或 ‘1m’ 的时长的字符串。UInt32 或 Float* 或 Decimal* 或 String
参数 返回值 指定网格上的 changes 值,类型为 Array(Nullable(Float64))。返回的数组对每个时间网格点都包含一个值。如果某个特定网格点对应的窗口内没有可用于计算 changes 值的样本,则该值为 NULL。 示例 在网格 [90, 105, 120, 135, 150, 165, 180, 195, 210, 225] 上计算 changes
Query
Response
使用数组参数的同一查询
Query
Response
最后修改于 2026年9月26日