first(col[, ignorenulls])
Описание
Функция first() возвращает первое значение в группе. Это агрегатная функция, которая должна использоваться с groupBy().
Параметры
col: Column - столбец для получения первого значенияignorenulls: Boolean (опционально) - если TRUE, то NULL значения игнорируются, по умолчанию FALSE
Возвращаемое значение
Тип значения из столбца col - первое значение в группе
Пример использования
from pyspark.sql.functions import first
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder.appName("first_example").getOrCreate()
# Создаем DataFrame
data = [
    ("A", 1),
    ("A", 2),
    ("A", 3),
    ("B", None),
    ("B", 4),
    ("B", 5),
    ("B", 6)
]
df = spark.createDataFrame(data, ["group", "value"])
# Получаем первое значение
result = df.groupBy("group").agg(
    first("value").alias("first_value"),
    first("value", ignorenulls=True).alias("first_non_null")
).show()
# Результат:
# +-----+-----------+--------------+
# |group|first_value|first_non_null|
# +-----+-----------+--------------+
# |A    |1          |1             |
# |B    |null       |4             |
# +-----+-----------+--------------+
 Примечания
- Без параметра ignorenulls функция вернет первое значение, даже если оно NULL
 - С ignorenulls=True функция пропустит NULL значения и вернет первое ненулевое значение
 - Для получения последнего значения используйте 
last() - Для получения первого значения с учетом порядка используйте 
first_value()