cardinality(column)
Описание
Функция cardinality() возвращает количество элементов в массиве или Map-столбце. Если столбец NULL, возвращается NULL.
Параметры
column: Column - массив или Map-столбец
Возвращаемое значение
Integer - количество элементов в массиве или Map-столбце
Пример использования
from pyspark.sql import SparkSession
from pyspark.sql.functions import cardinality
# Создаем SparkSession
spark = SparkSession.builder.appName("cardinality_example").getOrCreate()
# Создаем DataFrame с массивами и Map-столбцами
data = [
    (1, ["a", "b", "c"], {"x": 1, "y": 2}),
    (2, ["x", "y"], {"a": 3}),
    (3, [], {}),
    (4, None, None)
]
df = spark.createDataFrame(data, ["id", "array", "map"])
# Получаем количество элементов
result = df.select(
    "id",
    cardinality("array").alias("array_size"),
    cardinality("map").alias("map_size")
).show()
# Результат:
# +---+----------+--------+
# | id|array_size|map_size|
# +---+----------+--------+
# |  1|         3|       2|
# |  2|         2|       1|
# |  3|         0|       0|
# |  4|      null|    null|
# +---+----------+--------+
 Примечания
- Для массивов эквивалентно функции 
size() - Для Map-столбцов возвращает количество пар ключ-значение
 - Для работы с JSON-массивами используйте 
json_array_length() - Для получения ключей JSON-объекта используйте 
json_object_keys()