pyspark函数用于更改数据类型
代码在函数外部工作,但是当我在函数内部使用它并调整传递的var参数时,我得到了一个错误。谢谢你的帮助pyspark函数用于更改数据类型,pyspark,Pyspark,代码在函数外部工作,但是当我在函数内部使用它并调整传递的var参数时,我得到了一个错误。谢谢你的帮助 from pyspark.sql.types import DateType from pyspark.sql.functions import col, unix_timestamp, to_date def change_string_to_date(df,var): df = df.withColumn("{}".format(var),to_date(unix_
from pyspark.sql.types import DateType
from pyspark.sql.functions import col, unix_timestamp, to_date
def change_string_to_date(df,var):
df = df.withColumn("{}".format(var),to_date(unix_timestamp(col("{}".format(var))), 'yyyy-MM-dd').cast("timestamp"))
return df
df_data = change_string_to_date(df_data,'mis_dt')
我明白了。“unix_时间戳”是导致问题的原因。非常愚蠢的错误 您得到了什么错误?Py4JJavaError:调用o4544.withColumn时出错:org.apache.spark.sql.AnalysisException:无法解析给定输入列[id,a.mis_dt,rec];'项目[id#25919,mis#dt#25942,rec#25920,cast(截止日期(unix#u时间戳('mis#dt',yyyy-MM-dd HH:MM:ss,无),一些(yyy-MM-dd))作为时间戳)作为“mis#dt”\25960]