gpt4 book ai didi

type-conversion - 无法将 LongType 转换为 DateType 错误

转载 作者:行者123 更新时间:2023-12-04 17:47:51 24 4
gpt4 key购买 nike

(PySpark 新手)

我已经做了很多搜索并尝试了很多不同的方式,我在这里发布我的最后一次尝试:
我有如下所示的数据框:

txn_dt datetime64[ns]
id int64

我正在尝试使用 Spark SQL 将 txn_dt 连接到另一种日期类型并获得错误类型不匹配,因此我正在尝试使用以下代码将 txn_dt 转换为日期:

df = df.withColumn("txn_dt_tmp",df["txn_dt"].cast(DateType())) \
.drop("txn_dt") \
.withColumnRenamed("txn_dt_tmp", "txn_dt")

但得到
org.apache.spark.sql.AnalysisException: cannot resolve 'CAST(`txn_dt` AS DATE)' due to data type mismatch: cannot cast LongType to DateType;

请帮忙

最佳答案

一个有点不同的解决方案,是使用 from_unixtime获得 timestamp来自原始列的数据类型,然后使用 to_date将其转换为 DateType .

import pyspark.sql.functions as f
df.withColumn("txn_dt", f.to_date(f.from_unixtime(f.col("txn_dt"))))

关于type-conversion - 无法将 LongType 转换为 DateType 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47580293/

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