approx_top_k

k Dize, boole, tarih, zaman damgası veya sayısal sütunda col en sık oluşan öğe değerlerini ve bunların yaklaşık sayılarını döndürür. Her sayıdaki hata 2.0 * numRows / maxItemsTracked kadar olabilir; burada numRows toplam satır sayısıdır. k (varsayılan: 5) ve maxItemsTracked (varsayılan: 10000) her ikisi de tamsayı parametreleridir. Daha yüksek maxItemsTracked değerleri, artan bellek kullanımı maliyetinde daha iyi doğruluk sağlar. Ayrı öğelerden daha maxItemsTracked az öğe içeren sütunlar, tam öğe sayılarını verir. NULL değerleri sonuçlara kendi değerleri olarak eklenir.

Sonuçlar, değerleri (özgün giriş türüyle) ve oluşumlarını item (uzun türü) içeren count yapıların dizisi olarak döndürülür ve sayıya göre azalan düzende sıralanır.

Sözdizimi

from pyspark.databricks.sql import functions as dbsf

dbsf.approx_top_k(col, k=5, maxItemsTracked=10000)

Parametreler

Parametre Türü Description
col pyspark.sql.Column veya sütun adı İlk k öğeleri bulabileceğiniz sütun.
k pyspark.sql.Column veya int, isteğe bağlı Döndürülecek en çok kullanılan öğe sayısı. Varsayılan değer 5'tir.
maxItemsTracked pyspark.sql.Column veya int, isteğe bağlı İzlenen benzersiz öğe sayısı üst sınırı. Varsayılan değer 10000'dir. Daha yüksek değerler, artan bellek kullanımı maliyetinde daha iyi doğruluk sağlar.

Örnekler

from pyspark.sql.functions import col
from pyspark.databricks.sql.functions import approx_top_k
item = (col("id") % 3).alias("item")
df = spark.range(0, 1000, 1, 1).select(item)
df.select(
   approx_top_k("item", 5).alias("top_k")
).printSchema()
root
 |-- top_k: array (nullable = false)
 |    |-- element: struct (containsNull = false)
 |    |    |-- item: long (nullable = true)
 |    |    |-- count: long (nullable = false)