Skip to content

from_unixtime

Теги: datetime functions pyspark

Описание

Функция from_unixtime() преобразует Unix timestamp (количество секунд с 1 января 1970 года) в строку с датой и временем.

Параметры

  • col: Column - столбец с Unix timestamp
  • format: 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