timeSeriesLastTwoSamples
タイムスタンプと値のペアとして渡された時系列データから、最大で直近2件のサンプルのみを保持する集約関数です。
引数:
timestamp- サンプルのタイムスタンプvalue-timestampに対応する時系列の値 また、同じサイズの配列として、複数のタイムスタンプと値のサンプルを渡すこともできます。
戻り値:
Tuple(Array(DateTime), Array(Float64)) - 長さが 0 から 2 の範囲の、同じ長さを持つ 2 つの配列から成るペア。1 つ目の配列にはサンプリングされた時系列のタイムスタンプが含まれ、2 つ目の配列にはそれに対応する時系列の値が含まれます。
例: この集約関数は、グリッドに揃えたタイムスタンプに対して再サンプリングされた時系列データを保存するマテリアライズドビューと集約テーブルでの利用を想定しています。 以下の生データ用テーブルと、再サンプリングされたデータを保存するテーブルの例を考えます。
いくつかテストデータを挿入し、'2024-12-12 12:00:12' から '2024-12-12 12:00:30' の間のデータを読み取ります
タイムスタンプ '2024-12-12 12:00:15' と '2024-12-12 12:00:30' について直近2件のサンプルを取得します:
集計テーブルには、15 秒間隔に揃えた各タイムスタンプごとに、直近 2 つの値のみが保存されます。これにより、生テーブルに保存されているデータ量よりはるかに少ないデータを読み取るだけで、PromQL 風の irate および idelta を計算できます。
注記
この関数は実験的機能です。allow_experimental_ts_to_grid_aggregate_function=true を設定して有効化してください。