uniqHLL12
異なる引数値の近似数を計算します。これは、HyperLogLogアルゴリズムを使用しています。
引数
関数は可変数のパラメータを受け取ります。パラメータは Tuple
、Array
、Date
、DateTime
、String
、または数値型である必要があります。
返される値
- UInt64型の数値。
実装の詳細
関数:
-
集約内のすべてのパラメータのハッシュを計算し、それを計算に使用します。
-
異なる引数値の近似数を算出するためにHyperLogLogアルゴリズムを使用します。
2^12の5ビットセルが使用されます。状態のサイズは2.5 KBを少し超えます。結果は小さなデータセット(<10K要素)に対してはあまり正確ではありません(最大約10%の誤差)。しかし、高い基数のデータセット(10K-100M)に対しては、最大誤差が約1.6%とかなり正確です。100Mからは、推定誤差が増加し、非常に高い基数のデータセット(1B+要素)に対しては、関数が非常に不正確な結果を返すことになります。
-
確定的な結果を提供します(クエリ処理の順序に依存しません)。
この関数の使用は推奨しません。ほとんどの場合、uniqまたはuniqCombined関数を使用してください。
関連項目