from_unixtime
Теги: datetime functions pyspark
Описание
Функция from_unixtime()
преобразует Unix timestamp (количество секунд с 1 января 1970 года) в строку с датой и временем.
Параметры
col
: Column - столбец с Unix timestampformat
: String (опционально) - строка формата (по умолчанию "yyyy-MM-dd HH:mm:ss")
Возвращаемое значение
Column - строка с датой и временем
Пример
from pyspark.sql import SparkSession
from pyspark.sql.functions import from_unixtime
# Создаем Spark сессию
spark = SparkSession.builder.appName("from_unixtime_example").getOrCreate()
# Создаем DataFrame с Unix timestamp
data = [(1678901234,), (1678901235,), (1678901236,)]
df = spark.createDataFrame(data, ["timestamp"])
# Преобразуем в дату и время
df = df.withColumn("datetime", from_unixtime("timestamp"))
df = df.withColumn("date", from_unixtime("timestamp", "yyyy-MM-dd"))
df.show(truncate=False)
# Вывод:
# +------------+-------------------+----------+
# |timestamp |datetime |date |
# +------------+-------------------+----------+
# |1678901234 |2023-03-16 12:27:14|2023-03-16|
# |1678901235 |2023-03-16 12:27:15|2023-03-16|
# |1678901236 |2023-03-16 12:27:16|2023-03-16|
# +------------+-------------------+----------+
Примечания
- Unix timestamp - количество секунд с 1 января 1970 года
- Поддерживает те же паттерны форматирования, что и date_format
- Возвращает NULL, если входное значение NULL
- Полезно для преобразования Unix timestamp в читаемый формат
- Для миллисекунд используйте to_timestamp