我是 Spark sql 新手。我想生成以下一系列的开始时间和结束时间,当前日期的间隔为 5 秒。假设我在 2018 年 1 月 1 日运行我的工作,我想要一系列相差 5 秒的开始时间和结束时间。所以1天会有17280条记录
START TIME | END TIME
-----------------------------------------
01-01-2018 00:00:00 | 01-01-2018 00:00:04
01-01-2018 00:00:05 | 01-01-2018 00:00:09
01-01-2018 00:00:10 | 01-01-2018 00:00:14
.
.
01-01-2018 23:59:55 | 01-01-2018 23:59:59
01-02-2018 00:00:00 | 01-01-2018 00:00:05
我知道我可以使用 scala for 循环生成这个数据帧。我的限制是我只能使用查询来执行此操作。
有什么方法可以使用 select * 构造创建此数据结构吗?
您可以使用 sequence 函数来获取序列,并使用 explode 函数来旋转日期列表,例如:
select explode(sequence( to_date('2024-04-15')
,to_date('2024-04-20')
,interval 1 day)
) as date