%scala
import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.functions.{col, to_date}
Seq(("20110813"),("20090724")).toDF("Date").select(
col("Date"),
to_date(col("Date"),"yyyy-mm-dd").as("to_date")
).show()
-------- -------
| Date|to_date|
-------- -------
|20110813| null|
|20090724| null|
-------- -------
-------- ----------
| Date| to_date|
-------- ----------
|20110813|2011-01-13|
|20090724|2009-01-24|
-------- ----------
Seq(("20110813"),("20090724")).toDF("Date").select(
col("Date"),
to_date(col("Date"),"yyyymmdd").as("to_date")
).show()
我正在嘗試將字串轉換為時間戳,但我總是將空值/默認值回傳到日期值
uj5u.com熱心網友回復:
您沒有為要轉換的新列提供價值。您應該使用 withColumn 添加新的日期列并告訴他使用日期列值。
val df = Seq(("20110813"),("20090724")).toDF("Date")
val newDf = df.withColumn("to_date", to_date(col("Date"), "yyyy-MM-dd"))
newDf.show()
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/444552.html
