我有日期格式为DDMONYYYY
的dataFrame,需要将其转换为格式为YYYY-MM-DD
的日期格式
谁能帮我解决这个问题
val df = spark.sqlContext.createDataFrame(Seq(
("steak", "1990-01-01", "30Mar2022", 150),
("steak", "2000-01-02", "13Jan2021", 180),
("fish", "1990-01-01", "01Feb2001", 100)
)).toDF("name", "startDate", "endDate", "price")
df.show()
df.select(date_format(col("endDate"), "MM/dd/yyyy")).show
2条答案
按热度按时间xriantvc1#
您可以使用Spark提供的to_date和date_format函数。
第一个withColumn使用**“ddMMMyyyy”模式将 “endDate” 列转换为日期类型。第二个withColumn使用“yyyy-MM-dd”**模式将日期转换为字符串。
apeeds0o2#
下面的步骤也做得很好。
瓦尔df2 = df.withColumn(“endDate”,expr(“date_format(to_date(endDate,'ddMMMMyyy'),'yyyy-MM-dd')“)“))