pyspark-将每年和日期转换为日期

问题描述 投票:0回答:1

我在databrick中的pyspark dataframe中有两个列:

  1. 年前(2417)
  2. 日(0,1,2,3,4,5) - 一周中的一天

需要日期创建列。 我试图在sql(date_add…)和python中做到这一点。 SQL返回错误的数据,而strptime与Column

不起作用
python pyspark databricks datetime-format python-datetime
1个回答
0
投票

如果您参考文献,它指出,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;

enter image description here this假设所有年份都是20xx。您将需要更多信息才能了解它是否> 2099。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.