Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zwraca nową kolumnę, która szacuje przybliżoną liczbę unikatowych elementów w określonej kolumnie lub grupie kolumn.
Składnia
from pyspark.sql import functions as sf
sf.approx_count_distinct(col, rsd=None)
Parametry
| Parameter | Typ | Description |
|---|---|---|
col |
pyspark.sql.Column lub nazwa kolumny |
Etykieta kolumny do zliczenia unikatowych wartości. |
rsd |
zmiennoprzecinkowy, opcjonalny | Maksymalne dozwolone względne odchylenie standardowe (wartość domyślna = 0,05). Jeśli rsd < 0.01, bardziej wydajne byłoby użycie count_distinct. |
Zwraca
pyspark.sql.Column: nowy obiekt Kolumna reprezentujący przybliżoną unikatową liczbę.
Przykłady
Przykład 1. Zliczanie unikatowych wartości w pojedynczej kolumnie ramki danych reprezentującej liczby całkowite
from pyspark.sql import functions as sf
df = spark.createDataFrame([1,2,2,3], "int")
df.agg(sf.approx_count_distinct("value")).show()
+----------------------------+
|approx_count_distinct(value)|
+----------------------------+
| 3|
+----------------------------+
Przykład 2. Zliczanie unikatowych wartości w pojedynczej kolumnie ramki danych reprezentującej ciągi
from pyspark.sql import functions as sf
df = spark.createDataFrame([("apple",), ("orange",), ("apple",), ("banana",)], ['fruit'])
df.agg(sf.approx_count_distinct("fruit")).show()
+----------------------------+
|approx_count_distinct(fruit)|
+----------------------------+
| 3|
+----------------------------+
Przykład 3. Zliczanie unikatowych wartości w ramce danych z wieloma kolumnami
from pyspark.sql import functions as sf
df = spark.createDataFrame(
[("Alice", 1), ("Alice", 2), ("Bob", 3), ("Bob", 3)], ["name", "value"])
df = df.withColumn("combined", sf.struct("name", "value"))
df.agg(sf.approx_count_distinct(df.combined)).show()
+-------------------------------+
|approx_count_distinct(combined)|
+-------------------------------+
| 3|
+-------------------------------+
Przykład 4. Zliczanie unikatowych wartości z określonym względnym odchyleniem standardowym
from pyspark.sql import functions as sf
spark.range(100000).agg(
sf.approx_count_distinct("id").alias('with_default_rsd'),
sf.approx_count_distinct("id", 0.1).alias('with_rsd_0.1')
).show()
+----------------+------------+
|with_default_rsd|with_rsd_0.1|
+----------------+------------+
| 95546| 102065|
+----------------+------------+