【问题标题】:pyspark function to change datatypepyspark 函数更改数据类型
【发布时间】:2020-01-03 01:52:19
【问题描述】:

代码在函数外部工作,但是当我将其放入函数内部并调整传递的 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')

【问题讨论】:

  • 你遇到了什么错误?
  • Py4JJavaError:调用 o4544.withColumn 时出错。 :org.apache.spark.sql.AnalysisException:无法解析'"mis_dt"'给定的输入列:[id,a.mis_dt,rec];; '项目 [id#25919, mis_dt#25942, rec#25920, cast(to_date(unix_timestamp('"mis_dt", yyyy-MM-dd HH:mm:ss, None), Some(yyyy-MM-dd)) 为时间戳)AS "mis_dt"#25960]

标签: pyspark


【解决方案1】:

想通了。 “unix_timestamp”导致了问题。非常愚蠢的错误。

【讨论】:

    猜你喜欢
    • 2018-01-31
    • 2018-01-09
    • 1970-01-01
    • 2022-07-07
    • 2019-01-02
    • 1970-01-01
    • 1970-01-01
    • 2021-06-16
    • 1970-01-01
    相关资源
    最近更新 更多