Skip to content

count(col)

Описание

Функция count() возвращает количество элементов в группе. Это агрегатная функция, которая должна использоваться с groupBy().

Параметры

  • col: Column - столбец для подсчета элементов

Возвращаемое значение

Long - количество элементов в группе

Пример использования

from pyspark.sql.functions import count
from pyspark.sql import SparkSession

# Создаем SparkSession
spark = SparkSession.builder.appName("count_example").getOrCreate()

# Создаем DataFrame
data = [
    ("A", 1),
    ("A", 2),
    ("A", 3),
    ("B", 4),
    ("B", 5),
    ("B", 6),
    ("B", None)
]
df = spark.createDataFrame(data, ["group", "value"])

# Используем count для подсчета элементов
result = df.groupBy("group").agg(
    count("value").alias("count"),
    count("*").alias("count_all")
).show()

# Результат:
# +-----+-----+---------+
# |group|count|count_all|
# +-----+-----+---------+
# |A    |3    |3        |
# |B    |3    |4        |
# +-----+-----+---------+

Примечания

  • count(col) не учитывает NULL значения
  • count(*) или count(1) учитывает все строки, включая NULL
  • Для подсчета уникальных значений используйте countDistinct()
  • Для подсчета истинных значений используйте count_if()
  • Для приблизительного подсчета уникальных значений используйте approxCountDistinct()