Rollup

Crie um rollup multidimensional para o DataFrame atual usando as colunas especificadas, permitindo a agregação sobre elas.

Sintaxe

rollup(*cols: "ColumnOrNameOrOrdinal")

Parâmetros

Parâmetro Tipo Descrição
cols list, str, int ou Column As colunas para enrolar. Cada elemento deve ser um nome de coluna (string) ou uma expressão (Column) ou um ordinal de coluna (int, baseado em 1) ou uma lista deles.

Devoluções

GroupedData: Dados agrupados com base nas colunas especificadas.

Notes

Um ordinal de coluna começa em 1, que é diferente do ordinal baseado __getitem__em 0 .

Exemplos

df = spark.createDataFrame([("Alice", 2), ("Bob", 5)], schema=["name", "age"])

df.rollup("name").count().orderBy("name").show()
# +-----+-----+
# | name|count|
# +-----+-----+
# | NULL|    2|
# |Alice|    1|
# |  Bob|    1|
# +-----+-----+

df.rollup("name", df.age).count().orderBy("name", "age").show()
# +-----+----+-----+
# | name| age|count|
# +-----+----+-----+
# | NULL|NULL|    2|
# |Alice|NULL|    1|
# |Alice|   2|    1|
# |  Bob|NULL|    1|
# |  Bob|   5|    1|
# +-----+----+-----+