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— 時系列の識別子。UInt64values— 時間グリッドに揃えた時系列の値。タイムステップごとに 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