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).

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|
+----+----+-------------+-------+