【问题标题】:Spark transformations generate future datesSpark 转换生成未来日期
【发布时间】: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

【问题讨论】:

    标签: scala apache-spark datetime impala


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-24
      • 1970-01-01
      • 1970-01-01
      • 2014-08-10
      • 2022-01-27
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      相关资源
      最近更新 更多