Pular para o conteúdo principal

id_de_agrupamento

Função agregada: retorna o nível de agrupamento, igual a (grouping(c1) << (n-1)) + (grouping(c2) << (n-2)) + ... + grouping(cn).

Sintaxe

Python
from pyspark.sql import functions as sf

sf.grouping_id(*cols)

Parâmetros

Parâmetro

Tipo

Descrição

cols

pyspark.sql.Column ou str

Colunas a verificar. A lista de colunas deve corresponder exatamente às colunas de agrupamento ou estar vazia (o que significa que todas as colunas de agrupamento estão presentes).

Devoluções

pyspark.sql.Column: retorna o nível do agrupamento ao qual se refere.

Exemplos

Exemplo 1 : Obter ID de agrupamento em operações de cubo

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame(
[(1, "a", "a"), (3, "a", "a"), (4, "b", "c")], ["c1", "c2", "c3"])
df.cube("c2", "c3").agg(sf.grouping_id(), sf.sum("c1")).orderBy("c2", "c3").show()
Output
+----+----+-------------+-------+
| c2| c3|grouping_id()|sum(c1)|
+----+----+-------------+-------+
|NULL|NULL| 3| 8|
|NULL| a| 2| 4|
|NULL| c| 2| 4|
| a|NULL| 1| 4|
| a| a| 0| 4|
| b|NULL| 1| 4|
| b| c| 0| 4|
+----+----+-------------+-------+