Преобразования Spark генерируют даты в будущем - PullRequest
0 голосов
/ 26 мая 2020

У меня есть приложение ETL, которое загружает данные в Impala с помощью Spark. В процессе работы набор столбцов трансформируется. Существует столбец с меткой времени, который используется для вычисления столбца даты целочисленного типа. Этот расчет выглядит следующим образом:

df.select((col("date_time") / 1000).cast(TimestampType) as "ts")
.withColumn("date", date_format($"ts", "yyyyMMdd")

Поэтому, когда я загружаю данные без каких-либо преобразований или добавляю преобразования меток времени, проблем не возникает. Но когда добавляется преобразование даты, оно влияет на результирующие данные, и будущие даты генерируются в столбцах даты и времени. В чем может быть причина?

Вот ввод:

2020-05-26 11:40:27.526

Ожидаемый результат:

2020-05-26 11:40:27.526, 20200526

Фактический результат преобразования:

2020-05-31 11:40:27.526,20200531

для некоторых других дат даже год изменен:

2115-05-27 16:32:11.482,21150527

1 Ответ

0 голосов
/ 13 июля 2020

Причина этой проблемы была довольно тривиальной - будущие даты в исходном наборе необработанных данных. Обновление набора данных устранило проблему

...