我有一个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
1条答案
按热度按时间6ss1mwsb1#
出现这个问题的原因很简单——原始数据集中的未来日期。数据集更新修复了问题