timeSeriesLastTwoSamples
Агрегатная функция, которая принимает данные временного ряда в виде пар меток времени и значений и хранит не более чем 2 последних измерений.
Аргументы:
timestamp— метка времени измеренияvalue— значение временного ряда, соответствующееtimestamp
Также можно передавать несколько измерений (метки времени и значения) в виде массивов одинакового размера.
Возвращаемое значение:
Tuple(Array(DateTime), Array(Float64)) — пара массивов одинаковой длины (от 0 до 2 элементов). Первый массив содержит метки времени выборок временного ряда, второй массив содержит соответствующие значения временного ряда.
Пример:
Эта агрегатная функция предназначена для использования с материализованным представлением и агрегированной таблицей, которые хранят ресемплированные данные временных рядов для временных меток, выровненных по сетке (grid-aligned). Рассмотрим следующую таблицу с сырыми данными и таблицу для хранения ресемплированных данных:
Вставьте немного тестовых данных и прочитайте данные за период между '2024-12-12 12:00:12' и '2024-12-12 12:00:30'
Выполните запрос двух последних записей с метками времени '2024-12-12 12:00:15' и '2024-12-12 12:00:30':
Агрегированная таблица хранит только два последних значения для каждой 15‑секундной выровненной отметки времени. Это позволяет вычислять PromQL‑подобные irate и idelta, считывая значительно меньше данных, чем хранится в сырой таблице.
Эта функция экспериментальная; включите её, установив allow_experimental_ts_to_grid_aggregate_function=true.