unix_timestamp(timestamp=None, format=None)
Описание
Функция unix_timestamp() преобразует временную метку или строку в Unix timestamp (количество секунд с 1970-01-01 00:00:00 UTC).
Параметры
timestamp: Column (опционально) - столбец с временными метками или строкамиformat: String (опционально) - формат даты и времени (если timestamp - строка)
Возвращаемое значение
Long - Unix timestamp в секундах
Пример использования
from pyspark.sql.functions import unix_timestamp
from pyspark.sql import SparkSession
from datetime import datetime
# Создаем SparkSession
spark = SparkSession.builder.appName("unix_timestamp_example").getOrCreate()
# Создаем DataFrame с временными метками и строками
data = [
    (datetime(2023, 1, 15, 12, 30, 45), "2023-01-15 12:30:45"),
    (datetime(2023, 1, 15, 0, 0, 0), "2023-01-15"),
    (datetime(1970, 1, 1, 0, 0, 0), "1970-01-01")
]
df = spark.createDataFrame(data, ["timestamp", "date_str"])
# Преобразуем в Unix timestamp разными способами
result = df.select(
    "timestamp",
    "date_str",
    unix_timestamp("timestamp").alias("from_timestamp"),
    unix_timestamp("date_str").alias("from_str_default"),
    unix_timestamp("date_str", "yyyy-MM-dd").alias("from_str_custom")
).show(truncate=False)
# Результат:
# +-------------------+-------------------+-------------+----------------+-------------+
# |timestamp          |date_str           |from_timestamp|from_str_default|from_str_custom|
# +-------------------+-------------------+-------------+----------------+-------------+
# |2023-01-15 12:30:45|2023-01-15 12:30:45|1673785845   |1673785845      |1673740800    |
# |2023-01-15 00:00:00|2023-01-15        |1673740800   |1673740800      |1673740800    |
# |1970-01-01 00:00:00|1970-01-01        |0           |0              |0            |
# +-------------------+-------------------+-------------+----------------+-------------+
 Примечания
- NULL значения возвращают NULL
 - Если параметры не указаны, возвращает текущий Unix timestamp
 - Если timestamp - строка, необходимо указать соответствующий формат
 - Для работы с временными метками также используйте:
 from_unixtime()для преобразования Unix timestamp в строкуto_timestamp()для преобразования строки во временную меткуto_date()для преобразования строки в датуdate_format()для форматирования даты и времени