Spark 转换生成未来日期
Posted
技术标签:
【中文标题】Spark 转换生成未来日期【英文标题】:Spark transformations generate future dates 【发布时间】:2020-05-26 18:04:51 【问题描述】:我有一个使用 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
【问题讨论】:
【参考方案1】:这个问题的原因很简单——原始原始数据集中的未来日期。数据集更新解决了问题
【讨论】:
以上是关于Spark 转换生成未来日期的主要内容,如果未能解决你的问题,请参考以下文章
Spark一出,Hadoop必死?Spark才是大数据的未来?