timeSeriesBottomKMasks
Добавлена в: v26.8.0 Выбирает временные серии с k наименьшими значениями на каждом шаге временной сетки. Каждая входная строка представляет одну временную серию:key идентифицирует серию, а values содержит её значения, выровненные по общей
временной сетке, поэтому массивы values во всех строках должны быть одинакового размера. На каждом шаге выбираются серии с k наименьшими
значениями, отличными от NULL (NaN считается больше любого другого значения). При равенстве значений
предпочтение отдаётся серии с меньшим key.
Эта функция реализует оператор агрегации bottomk() языка PromQL и хранит лишь одну ограниченную кучу размера k на каждый
шаг по времени, поэтому размер её состояния не зависит от количества агрегируемых серий.
Эта функция доступна в закрытой предварительной версии. Чтобы включить её, установите
enable_time_series_aggregate_functions = 1.k— Количество серий, выбираемых на каждом временном шаге: либо одно значение для всех временных шагов, либо массив с отдельным значением для каждого шага. Должно быть одинаковым для всех строк.UInt*илиArray(UInt*)key— Идентификатор временной серии.UInt64values— Значения временной серии, выровненные по временной сетке, по одному элементу на каждый временной шаг.Array(Nullable(Float32))илиArray(Nullable(Float64))илиArray(Float32)илиArray(Float64)
key, каждую вместе с её маской шагов: steps_mask[t] = 1, если серия выбрана на временном шаге t. Серии, не выбранные ни на одном временном шаге, не возвращаются. Array(Tuple(key UInt64, steps_mask Array(UInt8)))
Примеры
Выбор 2 наименьших серий на каждом временном шаге
Query
Response