Scala 将日期转换为时间戳时出现问题,从unix_时间戳转换为Spark日期时返回null

Scala 将日期转换为时间戳时出现问题,从unix_时间戳转换为Spark日期时返回null,scala,datetime,apache-spark,null,unix-timestamp,Scala,Datetime,Apache Spark,Null,Unix Timestamp,将日期转换为时间戳时出现问题,从unix_时间戳到Spark日期转换为时间戳时返回null scala> import org.apache.spark.sql.functions.unix_timestamp scala> spark.sql("select from_unixtime(unix_timestamp(('2017-08-13 00:06:05'),'yyyy-MM-dd HH:mm:ss')) AS date").show(false) +----+ |date

将日期转换为时间戳时出现问题,从unix_时间戳到Spark日期转换为时间戳时返回null

scala>  import org.apache.spark.sql.functions.unix_timestamp
scala> spark.sql("select from_unixtime(unix_timestamp(('2017-08-13 00:06:05'),'yyyy-MM-dd HH:mm:ss')) AS date").show(false)

+----+
|date|
+----+
|null|
+----+

问题是智利时间的变化,非常感谢

+-------------------+---------+
|     DateIntermedia|TimeStamp|
+-------------------+---------+
|13-08-2017 00:01:07|     null|
|13-08-2017 00:10:33|     null|
|14-08-2016 00:28:42|     null|
|13-08-2017 00:04:43|     null|
|13-08-2017 00:33:51|     null|
|14-08-2016 00:28:08|     null|
|14-08-2016 00:15:34|     null|
|14-08-2016 00:21:04|     null|
|13-08-2017 00:34:13|     null|
+-------------------+---------+
解决方案,设置时区:

  spark.conf.set("spark.sql.session.timeZone", "UTC-6")

我在Spark 2.2上尝试了你的代码,它的工作原理与预期相符。您使用的是什么版本?Spark 2.3.1和Scala 2.11.8。问题只发生在08月和13或14日,其他日期运行良好您的系统是否碰巧在智利时区运行?智利的夏季时间(DST)于2017年8月13日开始。时钟从00:00转为01:00,所以那天晚上没有00:06:05。谢谢你。问题:13-08-2017 00:01:07 |空\n 14-08-2016 00:28:42 |空。这与时间的变化是一致的。