当我试图将Spark DataFrame中的字符串日期转换为date
类型时,我得到了null
。
# Create a list of data
data = [(1, "20230517"), (2, "20230518"), (3, "20230519"), (4, "null")]
# Create a DataFrame from the list of data
df = spark.createDataFrame(data, ("id", "date"))
df.show()
df.printSchema()
root
|-- id: long (nullable = true)
|-- date: string (nullable = true)
# Convert the SaleDate column to datetime format
df1 = df.withColumn("date", df.date.cast('date'))
df1.select('date').show()
+--------+
|date |
+--------+
| null|
| null|
| null|
| null|
1条答案
按热度按时间8yoxcaq71#
对于这个操作,你应该使用
F.to_date()
并指定你想要解析的格式(在你的例子中是yyyyMMdd
):我使用的完整代码: