Pular para o conteúdo principal

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

Python
from pyspark.databricks.sql import functions as dbsf

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

Parâmetros

Parâmetro

Tipo

Descrição

col

pyspark.sql.Column ou nome da coluna

Coluna para encontrar os k itens principais.

k

pyspark.sql.Column ou int, opcional

Número de itens principais a serem devolvidos. O valor padrão é 5.

maxItemsTracked

pyspark.sql.Column ou int, opcional

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

Python
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()
Output
root
|-- top_k: array (nullable = false)
| |-- element: struct (containsNull = false)
| | |-- item: long (nullable = true)
| | |-- count: long (nullable = false)