Я пытаюсь выяснить, как сделать эквивалент Oracle LEAD и LAG в Hbase или какой-то другой шаблон, который решит мою проблему.Я мог бы написать программу MapReduce, которая делает это довольно легко, но я бы хотел использовать тот факт, что данные уже отсортированы так, как мне нужно.
Моя проблема заключается в следующем: У меня есть ключ строки и значение, которое выглядит следующим образом:
(employee name + timestamp) => data:salary
Итак, некоторые примеры данных могут быть:
miller, bob;2010-01-14 => data:salary=90000
miller, bob;2010-11-04 => data:salary=102000
miller, bob;2011-12-03 => data:salary=107000
monty, fred;2010-04-10 => data:salary=19000
monty, fred;2011-09-09 => data:salary=24000
Что я хочу сделать, это рассчитать изменения зарплатызапись за записью.Я хочу преобразовать приведенные выше данные в различия между записями:
miller, bob;2010-01-14 => data:salarydiff=90000
miller, bob;2010-11-04 => data:salarydiff=12000
miller, bob;2011-12-03 => data:salarydiff=5000
monty, fred;2010-04-10 => data:salarydiff=19000
monty, fred;2011-09-09 => data:salarydiff=5000
Я готов изменить стратегию использования клавиш в случае необходимости.