gpt4 book ai didi

pyspark - 无法使用 PySpark 使用 DateType 创建字段

转载 作者:行者123 更新时间:2023-12-05 02:58:14 24 4
gpt4 key购买 nike

我正在尝试使用示例记录创建数据框。其中一个字段是 DateType。我收到 DatType 字段中提供的值的错误。请找到下面的代码错误是

TypeError: field date: DateType can not accept object '2019-12-01' in type <class 'str'>

我尝试使用 to_date 和其他一些方法将 stringType 转换为 DateType,但无法这样做。请指教

from pyspark.sql.functions import to_date,col,lit,expr
from pyspark.sql.types import StructType,StructField,IntegerType,DateType,StringType
from pyspark.sql import Row

MySchema = StructType([ StructField("CustomerID",IntegerType(),True),
StructField("Quantity",IntegerType(),True),
StructField("date",DateType(),True)
])


myRow=Row(10,100,"2019-12-01")
mydf=spark.createDataFrame([myRow],MySchema)
display(mydf)

最佳答案

您可以使用datetime 类将字符串转换为日期:

from datetime import datetime

myRow=Row(10,100,datetime.strptime('2019-12-01','%Y-%m-%d'))
mydf=spark.createDataFrame([myRow],MySchema)
mydf.show()

它应该可以工作。

关于pyspark - 无法使用 PySpark 使用 DateType 创建字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59147905/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com