我需要在 Hive 中编写查询或定义需要执行以下操作的函数:
数据集:
Student || Time || ComuputerPool
-------------------------------------
A || 9:15AM || Pool1.Machine2
-------------------------------------
A || 9:45AM || Pool1.Machine7
-------------------------------------
A || 10:15AM|| Pool1.Machine9
-------------------------------------
A || 11:00AM|| Pool2.Machine2
-------------------------------------
A || 12:05 || Pool2.Machine3
-------------------------------------
A || 12:40 || Pool3.Machine5
-------------------------------------
A || 13:10 || Pool1.Machine3
-------------------------------------
A || 13:50 || Pool1.Machine10
-------------------------------------
B ..........................
所以现在查询应该通过计算他第一次在一个池中使用机器的时间和他第一次开始在另一个池中使用机器的时间差来找出特定学生在特定计算机池中花费了多长时间。所以这个例子他花费的时间将是:11:00AM - 9:15AM = 1Hour45Mins
我的问题是如何在一个存储时间值中标记第一次使用,并在以后找到下一个池数据时使用它。