aproximado_topo_k
Retorna os k valores de item que ocorrem com mais frequência em uma coluna de strings, booleana, data, timestamp ou numérica col juntamente com suas contagens aproximadas. O erro em cada contagem pode ser até 2.0 * numRows / maxItemsTracked onde numRows é o número total de linhas. k (default: 5) e maxItemsTracked (default: 10000) são ambos parâmetros inteiros. Valores mais altos de maxItemsTracked proporcionam melhor precisão ao custo de maior uso de memória. Colunas que têm menos de maxItemsTracked itens distintos produzirão contagens exatas de itens. Os valores NULL são incluídos como seu próprio valor nos resultados.
Os resultados são retornados como uma matriz de estruturas contendo valores item (com seu tipo de entrada original) e sua ocorrência count (tipo longo), classificados por contagem em ordem decrescente.
Sintaxe
from pyspark.databricks.sql import functions as dbsf
dbsf.approx_top_k(col, k=5, maxItemsTracked=10000)
Parâmetros
Parâmetro | Tipo | Descrição |
|---|---|---|
|
| Coluna para encontrar os k itens principais. |
|
| Número de itens principais a serem devolvidos. O valor padrão é 5. |
|
| Número máximo de itens distintos a serem rastreados. O valor padrão é 10000. Valores mais altos proporcionam maior precisão, ao custo de maior uso de memória. |
Exemplos
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)