我有一个配置单元表'driver\u time\u stats',包含列slot\u id,number\u of\u drivers,slot\u start\u time和slot\u end\u time。
-----------------------------------------------------------------------
slot_id | number_of_drivers | slot_start_time | slot_end_time
-----------------------------------------------------------------------
1 | 5 | 2018-01-01 09:30:00 | 2018-01-01 10:00:00
2 | 8 | 2018-01-01 10:30:00 | 2018-01-01 11:00:00
-----------------------------------------------------------------------
所需的输出:每一行应该被分割成多行,间隔1分钟,在插槽开始时间和插槽结束时间之间。
-----------------------------------------------------------------------
slot_id | number_of_drivers | slot_start_time | slot_end_time
-----------------------------------------------------------------------
1 | 5 | 2018-01-01 09:30:00 | 2018-01-01 09:31:00
1 | 5 | 2018-01-01 09:31:00 | 2018-01-01 09:32:00
.
.
.
1 | 5 | 2018-01-01 09:59:00 | 2018-01-01 10:00:00
2 | 8 | 2018-01-01 10:30:00 | 2018-01-01 10:31:00
2 | 8 | 2018-01-01 10:31:00 | 2018-01-01 10:32:00
.
.
.
2 | 8 | 2018-01-01 10:59:00 | 2018-01-01 11:00:00
-----------------------------------------------------------------------
我用的是侧视图,posexplode e.t.c函数,但做不到。有人能帮我吗?另一方面,我试图在Hive中以一分钟的间隔将一个记录分割成多个记录。我可以使用unnest在presto中实现它,但是我只希望解决方案在hive中作为构建在hive上的out etl。
-纳什
1条答案
按热度按时间qyyhg6bp1#
嗯,我可以在我朋友亨利的帮助下找到答案,他把答案贴在这里,这样就可以帮助其他人寻找解决类似问题的方法。下面的代码截取给你一个指导。你可以根据需要调整它。