date_trunc()
Описание
Функция date_trunc() обрезает дату или временную метку до указанной единицы времени (год, квартал, месяц, неделя, день, час, минута, секунда).
Параметры
unit: String - единица времени для обрезки (year, quarter, month, week, day, hour, minute, second)timestamp: Column - дата или временная метка для обрезки
Возвращаемое значение
Timestamp - обрезанная дата или временная метка
Пример использования
from pyspark.sql import SparkSession
from pyspark.sql.functions import date_trunc, current_timestamp
# Создаем SparkSession
spark = SparkSession.builder.appName("date_trunc_example").getOrCreate()
# Создаем DataFrame
data = [
    (1,),
    (2,),
    (3,)
]
df = spark.createDataFrame(data, ["id"])
# Обрезаем текущую временную метку до разных единиц времени
result = df.select(
    "id",
    current_timestamp().alias("current_timestamp"),
    date_trunc("year", current_timestamp()).alias("truncated_to_year"),
    date_trunc("month", current_timestamp()).alias("truncated_to_month"),
    date_trunc("day", current_timestamp()).alias("truncated_to_day"),
    date_trunc("hour", current_timestamp()).alias("truncated_to_hour")
).show(truncate=False)
# Результат:
# +---+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+
# |id |current_timestamp         |truncated_to_year         |truncated_to_month        |truncated_to_day          |truncated_to_hour         |
# +---+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+
# |1  |2024-01-01 12:34:56.789  |2024-01-01 00:00:00.000  |2024-01-01 00:00:00.000  |2024-01-01 00:00:00.000  |2024-01-01 12:00:00.000  |
# |2  |2024-01-01 12:34:56.789  |2024-01-01 00:00:00.000  |2024-01-01 00:00:00.000  |2024-01-01 00:00:00.000  |2024-01-01 12:00:00.000  |
# |3  |2024-01-01 12:34:56.789  |2024-01-01 00:00:00.000  |2024-01-01 00:00:00.000  |2024-01-01 00:00:00.000  |2024-01-01 12:00:00.000  |
# +---+--------------------------+--------------------------+--------------------------+--------------------------+--------------------------+
 Примечания
- Поддерживаемые единицы времени: year, quarter, month, week, day, hour, minute, second
 - Функция работает с датами и временными метками
 - Для извлечения компонентов даты используйте 
year(),month(),day() - Для форматирования даты используйте 
date_format() - Для работы с временными зонами используйте 
from_utc_timestamp()иto_utc_timestamp()