Spark 转换生成未来日期
Spark transformations generate future dates
我有一个使用 Spark 将数据加载到 Impala 的 ETL 应用程序。在此过程中,一组列被转换。有一个时间戳列,用于计算整数类型的日期列。这个计算看起来像这样:
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
该问题的原因非常微不足道 - 原始原始数据集中的未来日期。数据集更新修复了问题
我有一个使用 Spark 将数据加载到 Impala 的 ETL 应用程序。在此过程中,一组列被转换。有一个时间戳列,用于计算整数类型的日期列。这个计算看起来像这样:
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
该问题的原因非常微不足道 - 原始原始数据集中的未来日期。数据集更新修复了问题