我在dataframe/rdd中有一个字符串字段(我在r中工作,但最后是sparksql),它的格式是 2020_42
(其中42是周数),我需要将其转换为日期格式(以一周的第一天为例)。
我发现很多答案都是一样的,但都不管用了。以下是我发现的两个主要方法:
unix_timestamp(year_week, "yyyy_ww")
to_date(year_week, "yyyy_ww")
我也可以在一年的周末加上“\u 1”,在字符串格式的末尾加上“\u”来指定星期一,但这不是问题所在:显然你不应该再这样做了。
当我执行此操作时,我在驱动程序中得到以下消息:
Error : org.apache.spark.SparkUpgradeException: You may get a different result due to the upgrading of Spark 3.0:
Fail to recognize 'yyyy_ww' pattern in the DateTimeFormatter.
1) You can set spark.sql.legacy.timeParserPolicy to LEGACY to restore the behavior before Spark 3.0.
2) You can form a valid datetime pattern with the guide from https://spark.apache.org/docs/latest/sql-ref-datetime-pattern.html
因此,我查看了指定的url,但没有看到任何将周数转换为日期的方法(尽管我看到了很多相反的方法)。
我确实使用了给定的参数使其与遗留模式一起工作,但这不是一个长期的解决方案。所以我的问题是:如何在spark>=3.0中将周数字符串转换为日期?
暂无答案!
目前还没有任何答案,快来回答吧!