Pyspark To_Date函数始终返回null
我有一个字符串格式的列,通过以下方式获取:Pyspark To_Date函数始终返回null,pyspark,pyspark-sql,Pyspark,Pyspark Sql,我有一个字符串格式的列,通过以下方式获取: session.sql("select milestoneactualdate from dba") 此列包含类似“20190101”的数据。我想通过以下方式将此字符串转换为日期: session.sql("select *, to_date(milestoneactualdate, '%YYYY%MM%DD') as datetest from dba").show() 我还尝试: changedTypedf = df.withColumn("m
session.sql("select milestoneactualdate from dba")
此列包含类似“20190101”的数据。我想通过以下方式将此字符串转换为日期:
session.sql("select *, to_date(milestoneactualdate, '%YYYY%MM%DD') as datetest from dba").show()
我还尝试:
changedTypedf = df.withColumn("milestoneactualdate", to_date(df["milestoneactualdate"], '%YYYY%MM%DD').cast('Date'))
但它总是返回“null”。为什么“我的强制转换”功能不起作用?您的日期格式必须是
yyyyMMdd
,请参阅
df=spark.createDataFrame([['20190101']],['milestoneactualdate'])
df.show()
+-------------------+
|烯雌酮硬脂酸酯|
+-------------------+
| 20190101|
+-------------------+
df.selectExpr('to_date(milestoneactualdate,“yyyyymmdd”)作为日期')。show()
+----------+
|日期|
+----------+
|2019-01-01|
+----------+