pyspark比较数据中的列(当前\u周(yyyxx),其中xx是周数)和当前系统周数(今天的周数)

1yjd4xko  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(401)

我有一个表,其列=>data\u week\u number格式为yyyxx(例如:202040)。
我要确保我删除所有早于当前系统周数的数据,任何关于如何获取系统信息的指针都会有所帮助
我可以在spark中看到系统日期和周数,但不是上面的格式。

quhf5bfb

quhf5bfb1#

在spark 2.4.6之前,您可以按以下步骤操作

spark.sql("""select 202040 - 
             date_format(to_date(
             current_date, "dd/MMM/yyyy"), 'yyyyww') yearWk             
             """).show

它回来了

+------+
|yearWk|
+------+
|   2.0|
+------+

从spark 3.0开始,date\格式不再接受“w”表示一年中的一周或“w”表示一个月中的一周。您可以将spark.sql.legacy.timeparserpolicy设置为legacy,以恢复spark 3之前的行为。

相关问题