any_value(col[, ignoreNulls])
Описание
Функция any_value() возвращает произвольное значение из группы строк для указанного столбца. Если указан параметр ignoreNulls, то NULL значения будут игнорироваться.
Параметры
col: Column - столбец, из которого нужно получить значениеignoreNulls: bool (опционально) - если True, NULL значения будут игнорироваться
Возвращаемое значение
Any - произвольное значение из группы строк
Пример использования
from pyspark.sql.functions import any_value
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder.appName("any_value_example").getOrCreate()
# Создаем DataFrame
data = [
    ("A", 1),
    ("A", 2),
    ("A", None),
    ("B", 3),
    ("B", 4),
    ("B", None)
]
df = spark.createDataFrame(data, ["group", "value"])
# Используем any_value без ignoreNulls
result1 = df.groupBy("group").agg(
    any_value("value").alias("any_value")
).show()
# Результат:
# +-----+---------+
# |group|any_value|
# +-----+---------+
# |    A|        1|
# |    B|        3|
# +-----+---------+
# Используем any_value с ignoreNulls=True
result2 = df.groupBy("group").agg(
    any_value("value", True).alias("any_value_ignore_nulls")
).show()
# Результат:
# +-----+-------------------+
# |group|any_value_ignore_nulls|
# +-----+-------------------+
# |    A|                  1|
# |    B|                  3|
# +-----+-------------------+
 Примечания
- Функция возвращает произвольное значение из группы, порядок не гарантирован
 - Если все значения в группе NULL и ignoreNulls=True, возвращается NULL
 - Для получения первого значения в группе используйте 
first() - Для получения последнего значения в группе используйте 
last() - Для получения максимального значения используйте 
max() - Для получения минимального значения используйте 
min()