Поделиться через


группировка

Агрегатная функция: указывает, является ли указанный столбец в GROUP BY списке агрегированным или нет, возвращает значение 1 для агрегированного или 0 для не агрегированных в результирующем наборе.

Синтаксис

from pyspark.sql import functions as sf

sf.grouping(col)

Параметры

Параметр Тип Description
col pyspark.sql.Column или str Столбец, чтобы проверить, агрегируется ли он.

Возвраты

pyspark.sql.Column: возвращает значение 1 для агрегированного или 0 для не агрегированных в результирующем наборе.

Примеры

Пример 1. Проверка состояния группировки в операции куба

from pyspark.sql import functions as sf
df = spark.createDataFrame([("Alice", 2), ("Bob", 5)], ("name", "age"))
df.cube("name").agg(sf.grouping("name"), sf.sum("age")).orderBy("name").show()
+-----+--------------+--------+
| name|grouping(name)|sum(age)|
+-----+--------------+--------+
| NULL|             1|       7|
|Alice|             0|       2|
|  Bob|             0|       5|
+-----+--------------+--------+