【问题标题】:How to convert excel date long type to timestamp in scala如何将excel日期长类型转换为scala中的时间戳
【发布时间】:2020-12-14 07:47:06
【问题描述】:
第 1 列 = 43784.2892847338
尝试了以下选项
val finalDF=df1.withColumn("Column1 ",expr("""(Column1 -25569) * 86400.0"""))
print(finalDF)
结果:1911120001
预期结果应在“YYYY-MM-dd HH:mm:ss.SSS”中
你能帮我解决一下吗?
【问题讨论】:
标签:
scala
dataframe
apache-spark
timestamp
databricks
【解决方案1】:
如果您使用from_unixtime,那么它不会给您.SSS 毫秒。因此,在这种情况下,最好使用强制转换。
val df1 = spark.createDataFrame(Seq(("1", 43784.2892847338))).toDF("id", "Column1")
val finalDF = df1.withColumn("Column1_timestamp", expr("""(Column1 -25569) * 86400.0""").cast("timestamp"))
finalDF.show(false)
+---+----------------+-----------------------+
|id |Column1 |Column1_timestamp |
+---+----------------+-----------------------+
|1 |43784.2892847338|2019-11-15 06:56:34.201|
+---+----------------+-----------------------+