我正在使用嵌套的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'))