Skip to content

make_timestamp(year, month, day, hour, min, sec)

Описание

Функция make_timestamp() создает timestamp из отдельных компонентов даты и времени.

Параметры

  • year: Column - столбец с годом
  • month: Column - столбец с месяцем (1-12)
  • day: Column - столбец с днем месяца (1-31)
  • hour: Column - столбец с часом (0-23)
  • min: Column - столбец с минутами (0-59)
  • sec: Column - столбец с секундами (0-59)

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

Timestamp - созданное значение даты и времени

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

from pyspark.sql.functions import make_timestamp
from pyspark.sql import SparkSession

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

# Создаем DataFrame
data = [
    (2023, 1, 1, 12, 0, 0),
    (2023, 2, 1, 15, 30, 0),
    (2023, 3, 1, 18, 45, 0)
]
df = spark.createDataFrame(data, ["year", "month", "day", "hour", "min", "sec"])

# Создаем timestamp из компонентов
result = df.select(
    "year", "month", "day", "hour", "min", "sec",
    make_timestamp("year", "month", "day", "hour", "min", "sec").alias("timestamp")
).show()

# Результат:
# +----+-----+---+----+---+---+-------------------+
# |year|month|day|hour|min|sec|timestamp          |
# +----+-----+---+----+---+---+-------------------+
# |2023|1    |1  |12  |0  |0  |2023-01-01 12:00:00|
# |2023|2    |1  |15  |30 |0  |2023-02-01 15:30:00|
# |2023|3    |1  |18  |45 |0  |2023-03-01 18:45:00|
# +----+-----+---+----+---+---+-------------------+

Примечания

  • Для создания timestamp с учетом часового пояса используйте make_timestamp_ltz()
  • Для создания timestamp без учета часового пояса используйте make_timestamp_ntz()
  • Для создания даты используйте make_date()
  • Для преобразования строки в timestamp используйте to_timestamp()