Мне нужно написать запрос в 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:00 - 9:15 = 1 час 45 минут.
Мой вопрос здесь заключается в том, как я собираюсь отметить первое использование в одном временном значении хранилища и использовать его позже, когда я найду данные следующего пула.