カウント最小スケッチ
指定された esp、信頼度、シードを持つ列の count-min スケッチを返します。結果はバイト配列であり、使用前にCountMinSketchに逆シリアル化できます。Count-min スケッチは、サブ線形空間を使用してカーディナリティ推定に使用される確率的データ構造です。
構文
Python
from pyspark.sql import functions as sf
sf.count_min_sketch(col, eps, confidence, seed=None)
パラメーター
パラメーター | Type | 説明 |
|---|---|---|
|
| ターゲットカラムをコンピュートに。 |
|
| 相対誤差は正の値でなければなりません。 |
|
| 信頼度は正で、1.0 未満である必要があります。 |
|
| ランダムシード。 |
戻り値
pyspark.sql.Column: 列の最小スケッチ
例
例1 : 列を引数として使用する
Python
from pyspark.sql import functions as sf
spark.range(100).select(
sf.hex(sf.count_min_sketch(sf.col("id"), sf.lit(3.0), sf.lit(0.1), sf.lit(1)))
).show(truncate=False)
Output
+------------------------------------------------------------------------+
|hex(count_min_sketch(id, 3.0, 0.1, 1)) |
+------------------------------------------------------------------------+
|0000000100000000000000640000000100000001000000005D8D6AB90000000000000064|
+------------------------------------------------------------------------+
例2 : 数値を引数として使用する
Python
from pyspark.sql import functions as sf
spark.range(100).select(
sf.hex(sf.count_min_sketch("id", 1.0, 0.3, 2))
).show(truncate=False)
Output
+----------------------------------------------------------------------------------------+
|hex(count_min_sketch(id, 1.0, 0.3, 2)) |
+----------------------------------------------------------------------------------------+
|0000000100000000000000640000000100000002000000005D96391C00000000000000320000000000000032|
+----------------------------------------------------------------------------------------+
例3 : 長いシードを使用する
Python
from pyspark.sql import functions as sf
spark.range(100).select(
sf.hex(sf.count_min_sketch("id", sf.lit(1.5), 0.2, 1111111111111111111))
).show(truncate=False)
Output
+----------------------------------------------------------------------------------------+
|hex(count_min_sketch(id, 1.5, 0.2, 1111111111111111111)) |
+----------------------------------------------------------------------------------------+
|00000001000000000000006400000001000000020000000044078BA100000000000000320000000000000032|
+----------------------------------------------------------------------------------------+