如何在pyspark数据框中将每周列更改为“to_date”

问题描述

我有一个庞大的数据集,为了说明起见,我简化了下面给出的数据集:

date    product price   amount
201901  A   10  20
201902  A   10  20
201903  A   20  30
201904  C   40  50

在此数据集中,日期列显示 year-weekNumber,我正在尝试将字符串类型转换为 pyspark 数据框中的日期类型。有没有什么有效的方法可以将日期列设置为“日期”类型?

解决方法

您可以将 to_date 与合适的日期时间模式字符串一起使用:

import pyspark.sql.functions as F

spark.sql("set spark.sql.legacy.timeParserPolicy=LEGACY")
df2 = df.withColumn('date',F.to_date('date','yyyyww'))