Pyspark: TypeError: int是必需的…



我正在使用嵌套的Json结构。我创建了一个数据框架,并添加了一个列:

jsonDf = jsonDf.withColumn("REPORT_TIMESTAMP", to_timestamp(jsonDF.reportData.timestamp))/

在此之前一切都好。我需要做的下一件事是从"REPORT_TIMESTAMP"中派生年份。我尝试了各种方法,例如:

jsonDf.withColumn("YEAR", datetime.fromtimestamp(to_timestamp(jsonDF.reportData.timestamp).cast("integer"))

以"结尾的

TypeError:一个整数是必需的(got type Column)

我也试过:

jsonDf.withColumn("YEAR", datetime.date.to_timestamp(jsonDF.reportData.timestamp).year)

给我"AttributeError: 'method_descriptor'对象没有属性'to_timestamp'

有没有人能纠正我以前的2种方法,这样它就可以工作了,或者甚至建议我还没有在雷达上的另一个选择?提前谢谢你

您正在混合Python函数datetime.date.to_timestamp和PySpark函数。

就像.withColumn('YEAR', F.year('dt'))

一样简单

相关内容

最新更新