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