0
我有一个可以启动或停止的服务。每个操作都会生成一个包含时间戳和操作类型的记录。最终,我最终得到一系列时间戳记的操作记录。现在我想计算一天中服务的正常运行时间。这个想法很简单。对于每对启动/停止记录,计算时间跨度并进行总结。但是如果可能的话,我不知道如何使用Hive来实现它。我可以创建表来存储中间结果。这是主要的阻塞问题,还有一些其他小问题。例如,一些开始/停止对可能跨越一天。任何想法如何处理这个小问题也将不胜感激。使用Hive脚本的每个开始/结束对的处理时间跨度
样本数据:
Timestamp Operation
... ...
2017-09-03 23:59:00 Start
2017-09-04 00:01:00 Stop
2017-09-04 06:50:00 Start
2017-09-04 07:00:00 Stop
2017-09-05 08:00:00 Start
... ...
服务正常运行时间为2017-09-04
应该然后是1 + 10 = 11
分钟。请注意,第一个时间间隔跨越09-03
和09-04
,并且只计入落在09-04
范围内的部分。
可以提供有关输入/输出的例子吗? – hlagos
以表格格式添加数据样本(〜10行),包括所需结果。 –
@DuduMarkovitz新增了一个例子,谢谢。 – Lingxi