Pyspark 如何将字符串更改为日期格式?

Pyspark 如何将字符串更改为日期格式?,pyspark,apache-spark-sql,pyspark-dataframes,Pyspark,Apache Spark Sql,Pyspark Dataframes,这可能是重复的地方,但我有一个简单的df: df1_schema = StructType([StructField("Date", StringType(), True) ]) df_data = [('1-Jun-20',)] rdd = sc.parallelize(df_data) df1 = sqlContext.createDataFrame(df_data, df1_schema) #df1 = df1.withColumn("Date",t

这可能是重复的地方,但我有一个简单的df:

df1_schema = StructType([StructField("Date", StringType(), True) ])
df_data = [('1-Jun-20',)]
rdd = sc.parallelize(df_data)
df1 = sqlContext.createDataFrame(df_data, df1_schema)
#df1 = df1.withColumn("Date",to_date("Date", 'yyyy-MM-dd'))
df1.show()

+--------+
|    Date|
+--------+
|1-Jun-20|
+--------+
我试图更改为最新格式,但它只给了我一个空值。 这就是我所尝试的:

df1= df1.withColumn("Date2", F.to_date(col('Date'), "dd-MM-yyyy"))
+----------+-----+
|      Date|Date2|
+----------+-----+
|1-Jun-20  | null|
+----------+-----+

有什么解决办法吗?。。谢谢

您的
日期的正确格式是
“d-MMM-yy”

这也适用于
01-Jun-20
10-Jun-20

df1.withColumn("Date2", F.to_date(col('Date'), "d-MMM-yy")).show()
+--------+----------+
|    Date|     Date2|
+--------+----------+
|1-Jun-20|2020-06-01|
+--------+----------+