Skip to main content

topK

指定されたカラム内で最も頻繁に出現する値を近似的に配列として返します。生成された配列は、値自体ではなく、近似頻度の降順でソートされます。

TopKを分析するためのFiltered Space-Savingアルゴリズムを実装しており、Parallel Space Savingのreduce-and-combineアルゴリズムに基づいています。

topK(N)(column)
topK(N, load_factor)(column)
topK(N, load_factor, 'counts')(column)

この関数は結果を保証するものではありません。特定の状況では、エラーが発生し、最も頻繁に出現する値ではない値が返されることがあります。

N < 10の値を使用することをお勧めします。Nの値が大きい場合、パフォーマンスが低下します。N の最大値は 65536 です。

パラメータ

  • N — 返す要素の数。オプション。デフォルト値: 10。
  • load_factor — 値のために予約されるセルの数を定義します。uniq(column) > N * load_factorの場合、topK関数の結果は近似値になります。オプション。デフォルト値: 3。
  • counts — 結果に近似的なカウントとエラー値を含めるかどうかを定義します。

引数

  • column — 頻度を計算するための値。

OnTime データセットを使用し、AirlineID カラムで最も頻繁に出現する3つの値を選択します。

SELECT topK(3)(AirlineID) AS res
FROM ontime
┌─res─────────────────┐
│ [19393,19790,19805] │
└─────────────────────┘

関連項目