timeSeriesMadToGrid
Добавлена в: v26.10.0 Агрегатная функция, которая принимает данные временных рядов в виде пар временных меток и значений и вычисляет функцию PromQLmad_over_time на регулярной временной сетке, заданной начальной временной меткой, конечной временной меткой и шагом. Для каждой точки сетки результатом является медианное абсолютное отклонение median(|x - median(x)|) значений образцов в пределах заданного временного окна. Обе медианы вычисляются методом R-7 (inclusive), так же как в quantileExactInclusive и timeSeriesQuantileToGrid.
Образцы можно передавать в одной из трёх форм:
- в виде двух аргументов
timestampиvalue, где каждая строка содержит один образец; - в виде двух массивов временных меток и значений, где каждая строка содержит целый временной ряд;
- в виде одного массива Tuple
(timestamp, value), где каждая строка содержит целый временной ряд.
Inf - Inf.
Если у нескольких образцов совпадает временная метка, используется только один из них — образец с наибольшим значением. Значение NaN уступает любому другому значению, поэтому NaN используется только в том случае, если все образцы с этой временной меткой равны NaN.
Эта функция находится в закрытой предварительной версии. Чтобы включить её, установите
enable_time_series_aggregate_functions=true.start_timestamp— Задаёт начало сетки. Также может быть дробным числом или строкой, содержащей число или дату и время в текстовом виде.UInt32илиDateTimeилиDateTime64илиFloat*илиDecimal*илиStringend_timestamp— Задаёт конец сетки. Также может быть дробным числом или строкой, содержащей число или дату и время в текстовом виде.UInt32илиDateTimeилиDateTime64илиFloat*илиDecimal*илиStringgrid_step— Задаёт шаг сетки в секундах. Также может быть дробным числом или строкой, содержащей число или длительность, например ’15s’ или ‘1m’.UInt32илиFloat*илиDecimal*илиStringstaleness— Задаёт максимальную «давность» учитываемых образцов в секундах. Окно давности представляет собой интервал, открытый слева и закрытый справа. Также может быть дробным числом или строкой, содержащей число или длительность, например ’15s’ или ‘1m’.UInt32илиFloat*илиDecimal*илиString
timestamp— Временная метка образца. Может быть отдельным значением или массивом.UInt32илиDateTimeилиDateTime64илиArray(UInt32)илиArray(DateTime)илиArray(DateTime64)value— Значение временного ряда, соответствующее временной метке. Может быть отдельным значением или массивом.Float*илиArray(Float*)samples— Образцы временного ряда, передаваемые в виде массива Tuple(timestamp, value), где элементы Tuple имеют указанные выше типы временной метки и значения. Используется как альтернатива передаче временных меток и значений двумя отдельными аргументами.Array(Tuple(T1, T2))
Array(Nullable(Float64))
Примеры
Вычисление значений mad_over_time на сетке [90, 105, 120, 135, 150, 165, 180, 195, 210, 225]
Query
Response
Query
Response