【问题标题】:Spark, String to TimestampSpark,字符串到时间戳
【发布时间】:2021-08-04 10:11:51
【问题描述】:

我有下一个String 专栏:

+-------------------+
|          Data_Time|
+-------------------+
|22.07.2017 10:06:51|
|22.07.2017 10:06:51|
|22.07.2017 10:06:51|
|22.07.2017 10:03:45|
|22.07.2017 10:03:45|
+-------------------+

我想把它转换成Timestamp

我正在尝试处理:

val dfSorted = df.withColumn("Data_Time_Pattern", to_timestamp(col("Data_Time"), "dd.MM.yyyy HH:mm:ss"))

但我得到了null 值:

+-------------------+-----------------+
|          Data_Time|Data_Time_Pattern|
+-------------------+-----------------+
|22.07.2017 10:06:51|             null|
|22.07.2017 10:06:51|             null|
|22.07.2017 10:06:51|             null|
|22.07.2017 10:03:45|             null|
|22.07.2017 10:03:45|             null|
+-------------------+-----------------+

我做错了什么?

【问题讨论】:

  • 对我有用,错误不可重现
  • 你确定你得到的是空值吗?你能显示试图显示新数据帧的代码行吗?我知道火花经常是延迟加载的,所以东西不会正确显示..会是这样吗?无论如何,添加您尝试显示它的方式和结果
  • 啊,我现在看到你发布了。所以我想那时可能不是这样。我认为可能是日期格式中断或您以某种方式选择错误。但是由于 mck 试图复制它没有成功,我想它一定是你的结果。

标签: scala apache-spark time timestamp


【解决方案1】:

我已经解决了这个问题。我用“\t”作为分隔符,将值更改为“”就可以了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-16
    • 1970-01-01
    • 1970-01-01
    • 2018-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-25
    相关资源
    最近更新 更多