Skip to main content

timeSeriesBottomKMasks

導入バージョン: v26.8.0 時間グリッドの各タイムステップにおいて、値が最も小さい k 個の時系列を選択します。 各入力行が 1 つの時系列を表します。key は系列を識別し、values には共通の 時間グリッドに揃えられた系列の値が格納されます。そのため、すべての行の values の Array は同じサイズである必要があります。各タイムステップでは、そのステップにおける非 NULL 値が最も小さい k 個の系列が選択されます (NaN は他のどの値よりも大きいとみなされます)。値が同じ場合は、 key が小さい系列が優先されます。 この関数は PromQL の bottomk() 集約オペレーターを実装したもので、タイムステップごとにサイズ k の有界ヒープを 1 つだけ保持します。 そのため、ステートのサイズは集計対象の系列数に依存しません。
この関数はプライベートプレビュー段階です。有効にするには enable_time_series_aggregate_functions = 1 を設定してください。
構文
引数
  • k — 各タイムステップで選択する系列の数。全タイムステップ共通の単一の値、またはタイムステップごとに 1 つずつ値を持つ配列で指定します。すべての行で同じ値である必要があります。UInt* または Array(UInt*)
  • key — 時系列の識別子。UInt64
  • values — 時間グリッドに揃えた時系列の値。タイムステップごとに 1 つの要素を持ちます。Array(Nullable(Float32)) または Array(Nullable(Float64)) または Array(Float32) または Array(Float64)
戻り値 選択された系列を、ステップごとのマスクとともに key の昇順で返します。系列がタイムステップ t で選択された場合は steps_mask[t] = 1 となります。どのタイムステップでも選択されなかった系列は返されません。Array(Tuple(key UInt64, steps_mask Array(UInt8))) 例 タイムステップごとに値が最小の 2 系列を選択する
Query
Response
最終更新日 2026年10月14日