Skip to main content

timeSeriesBottomKMasks

引入版本:v26.8.0 在时间网格的每个时间步上,选出值最小的 k 个时间序列。 每个输入行代表一个时间序列:key 用于标识该序列,values 包含该序列按公共时间网格对齐的值,因此所有行的 values 数组长度必须相同。在每个时间步上,选出该时间步中非 NULL 值最小的 k 个序列 (非数字 (NaN) 被视为大于任何其他值) 。若值相同,则优先选择 key 较小的序列。 该函数实现了 PromQL 的 bottomk() 聚合运算符,每个时间步仅维护一个大小为 k 的有界堆,因此其状态大小与参与聚合的序列数量无关。
该函数目前处于私有预览阶段,可通过设置 enable_time_series_aggregate_functions = 1 启用。
语法
参数 返回值 按 key 升序返回被选中的序列,每个序列附带其各时间步的掩码:若该序列在时间步 t 被选中,则 steps_mask[t] = 1。在任何时间步都未被选中的序列不会返回。Array(Tuple(key UInt64, steps_mask Array(UInt8))) 示例 在每个时间步选择最小的 2 个序列
Query
Response
最后修改于 2026年10月14日