我需要使用spark SQL从日期列中获取周末(星期六日期)。例如如果我提供日期“2020-01-10”,则应返回“2020-01-11”。如果我提供日期“2020-01-01”,则应返回“2020-01-04”
bejyjqdl1#
在Spark 2.3.0中,您可以使用date_trunc来获得一周的开始日期,然后添加天数以获得所需的工作日。
date_trunc
spark.sql("select '2020-01-10' given, date_trunc('WEEK', '2020-01-10') week_start , date_add(date_trunc('WEEK', '2020-01-10'),5) saturday_date").show() +----------+-------------------+-------------+ | given| week_start|saturday_date| +----------+-------------------+-------------+ |2020-01-10|2020-01-06 00:00:00| 2020-01-11| +----------+-------------------+-------------+
ru9i0ody2#
我在用
cast(date_add(date_Column, 6-cast(date_format(date_Column, 'u') as BIGINT)) as date) weekend_day
2条答案
按热度按时间bejyjqdl1#
在Spark 2.3.0中,您可以使用
date_trunc
来获得一周的开始日期,然后添加天数以获得所需的工作日。ru9i0ody2#
我在用