У меня есть таблица с датой и временем в виде строки. Я хочу преобразовать его в метку времени UT C. Мой местный часовой пояс - CDT. Сначала я конвертирую дату и время в метку времени.
table = table.withColumn('datetime_dt', unix_timestamp(col('datetime'), "yyyy-MM-dd HH:mm:ss").cast("timestamp"))
Затем я пытаюсь преобразовать этот столбец отметки времени в UT C время.
table = table.withColumn('datetime_UTC', to_utc_timestamp(table.datetime_dt, 'CDT'))
Я также пытаюсь это
table = table.withColumn('datetime_UTC', to_utc_timestamp(col('datetime_dt'), 'CDT'))
Но он возвращает те же результаты. Вот несколько примеров.
------------------------------------------------------------------
| datetime | datetime_dt | datetime_UTC |
------------------------------------------------------------------
|2019-01-01 00:49:00 | 2019-01-01 00:49:00 | 2019-01-01 00:49:00 |
------------------------------------------------------------------
|2019-01-01 02:06:00 | 2019-01-01 02:06:00 | 2019-01-01 02:06:00 |
------------------------------------------------------------------
|2019-01-02 05:15:00 | 2019-01-02 05:15:00 | 2019-01-02 05:15:00 |
------------------------------------------------------------------
Почему он дает то же самое время без какого-либо преобразования? Я импортирую to_utc_timestamp
из pyspark.sql.functions
.