第1列=43784.2892847338尝试了以下选项
val finalDF=df1.withColumn("Column1 ",expr("""(Column1 -25569) * 86400.0""")) print(finalDF)
结果:1911120001预期结果应为“yyyy-mm-dd hh:mm:ss.sss”你能帮我解决这个问题吗。
dfddblmv1#
如果你使用 from_unixtime 那它就不会给你 .SSS 毫秒。因此,在这种情况下,铸件更好地使用。
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| +---+----------------+-----------------------+
1条答案
按热度按时间dfddblmv1#
如果你使用
from_unixtime
那它就不会给你.SSS
毫秒。因此,在这种情况下,铸件更好地使用。