Несовпадение меток времени? - PullRequest
1 голос
/ 12 июня 2019

У меня есть база данных, в которой я хочу сохранить читаемые строки заданного времени с определенным форматом.Я получаю входной-фрейм данных с временными метками типа timestamp.Для расчетов я конвертирую их в unix-метки времени.Результаты возвращаются в базу данных в виде строки времени в формате строки.Проблема в том, что когда я конвертирую эти строковые метки времени обратно в Unix, у меня возникают несовпадающие значения.

Как это может произойти?

time_format = "YYYY-MM-dd'T'HH:mm:ssz"
dummy = df.withColumn('start_time_unix', f.unix_timestamp('start_time'))\
          .withColumn('start_time_string', f.from_unixtime('start_time_unix', format=time_format))\
          .withColumn('start_time_unix_2', f.unix_timestamp('start_time_string', format=time_format))                          
dummy.printSchema()
dummy.show(10, False)
OUTPUT
root
 |-- start_time: timestamp (nullable = true)
 |-- start_time_unix: long (nullable = true)
 |-- start_time_string: string (nullable = true)
 |-- start_time_unix_2: long (nullable = true)

+-------------------+---------------+-----------------------+-----------------+
|start_time         |start_time_unix|start_time_string      |start_time_unix_2|
+-------------------+---------------+-----------------------+-----------------+
|2019-06-04 00:39:08|1559601548     |2019-06-04T00:39:08CEST|1546123148       |
+-------------------+---------------+-----------------------+-----------------+

РЕДАКТИРОВАТЬ

Кадр входных данных сгенерирован в соответствии с:

df = spark.read.csv('data.csv', header=True, inferSchema=True)

С помощьюCSV, содержащий строки, такие как: "2019-06-04 00:39:08" (без ")

...