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()