Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Cree una agregación multidimensional para el dataframe actual mediante los conjuntos de agrupación especificados, por lo que podemos ejecutar la agregación en ellos.
Sintaxis
groupingSets(groupingSets: Sequence[Sequence["ColumnOrName"]], *cols: "ColumnOrName")
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
groupingSets |
secuencia de secuencia de columnas o str | Conjunto individual de columnas en el que se va a agrupar. |
cols |
Columna o str | Columnas de agrupación adicionales especificadas por los usuarios. Esas columnas se muestran como columnas de salida después de la agregación. |
Devoluciones
GroupedData: agrupación de conjuntos de datos basados en las columnas especificadas.
Ejemplos
from pyspark.sql import functions as sf
df = spark.createDataFrame([
(100, 'Fremont', 'Honda Civic', 10),
(100, 'Fremont', 'Honda Accord', 15),
(100, 'Fremont', 'Honda CRV', 7),
(200, 'Dublin', 'Honda Civic', 20),
(200, 'Dublin', 'Honda Accord', 10),
(200, 'Dublin', 'Honda CRV', 3),
(300, 'San Jose', 'Honda Civic', 5),
(300, 'San Jose', 'Honda Accord', 8)
], schema="id INT, city STRING, car_model STRING, quantity INT")
df.groupingSets(
[("city", "car_model"), ("city",), ()],
"city", "car_model"
).agg(sf.sum(sf.col("quantity")).alias("sum")).sort("city", "car_model").show()
# +--------+------------+---+
# | city| car_model|sum|
# +--------+------------+---+
# | NULL| NULL| 78|
# | Dublin| NULL| 33|
# | Dublin|Honda Accord| 10|
# | Dublin| Honda CRV| 3|
# | Dublin| Honda Civic| 20|
# | Fremont| NULL| 32|
# | Fremont|Honda Accord| 15|
# | Fremont| Honda CRV| 7|
# | Fremont| Honda Civic| 10|
# |San Jose| NULL| 13|
# |San Jose|Honda Accord| 8|
# |San Jose| Honda Civic| 5|
# +--------+------------+---+