spark转换生成未来日期

kyxcudwk  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(411)

我有一个etl应用程序,它使用spark将数据加载到impala。在这个过程中,一组列被转换。有一个时间戳列,用于计算整数类型的日期列。thsi计算如下:

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
6ss1mwsb

6ss1mwsb1#

出现这个问题的原因很简单——原始数据集中的未来日期。数据集更新修复了问题

相关问题