我在databrick中的pyspark dataframe中有两个列:
需要日期创建列。 我试图在sql(date_add…)和python中做到这一点。 SQL返回错误的数据,而strptime与Column
不起作用如果您参考文献,它指出,SPARK 3.0后不再支持基于周的模式识别。因此,您需要使用旧式选项。您提到您不能使用遗产模式,但没有提及为什么不提及。 如果您确实无法使用旧式选项,则需要使用7倍(周-1) +(一周的一天)创建一年中的一天。然后使用以下SQL获取您的日期
%sql
SELECT yearweek, day, to_date(CONCAT('20', LEFT(yearweek, 2), ((RIGHT(yearweek, 2)-1)*7) + day), 'yyyyD') as date from test1;
this假设所有年份都是20xx。您将需要更多信息才能了解它是否> 2099。