Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
pyspark函数用于更改数据类型_Pyspark - Fatal编程技术网

pyspark函数用于更改数据类型

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_

代码在函数外部工作,但是当我在函数内部使用它并调整传递的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_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]