Контекст: Я использую функцию date_trun c, импортированную из pyspark. sql .функции для усечения отметки времени до минут.
df_truncated = df.withColumn('dt', date_trunc('minute', df["timestamp"]))
df_truncated.show(truncate=False)
Выходные данные
+------------------------+-------------------+
|timestamp |dt |
+------------------------+-------------------+
|2020-01-02T00:30:47.178Z|2020-01-02 02:30:00|
|2020-01-02T00:30:47.160Z|2020-01-02 02:30:00|
|2020-01-02T00:30:46.327Z|2020-01-02 02:30:00|
|2020-01-02T00:30:45.003Z|2020-01-02 02:30:00|
|2020-01-02T00:30:44.054Z|2020-01-02 02:30:00|
+------------------------+-------------------+
Проблема: Проблема в том, что он «добавляет» два часа к исходной отметке времени - конвертирует из ut c в местное время.
Вопрос: Как этого избежать? Нужно ли вручную обрезать временную метку или есть какой-то параметр для функции date_trun c, который не задокументирован? Или мне нужно получить доступ к глобальным настройкам spark и если да, то как или какие настройки?