В Pig у меня есть требование установить avail_until в качестве avail_since следующих записей с учетом определенного идентификатора и по умолчанию использовать 9999-12-31 для последней записи данного идентификатора. Я начинаю с упорядочения данных по идентификатору, а затем Avail_Since, но после этого застреваю. Я думаю, что мне может понадобиться функция over/stitch/lead/lag, но не уверен. Любая помощь будет принята с благодарностью!
Input Data:
ID AVAIL_SINCE AVAIL_UNTIL
1 19-Jan-00 31-Dec-99
1 11-Jun-00 31-Dec-99
1 4-Aug-00 31-Dec-99
1 19-May-01 31-Dec-99
2 5-May-02 31-Dec-99
2 8-Apr-03 31-Dec-99
3 10-Jun-00 31-Dec-99
3 31-Oct-00 31-Dec-99
3 29-Dec-00 31-Dec-99
Required Result:
ID AVAIL_SINCE AVAIL_UNTIL
1 19-Jan-00 11-Jun-00
1 11-Jun-00 4-Aug-00
1 4-Aug-00 19-May-01
1 19-May-01 31-Dec-99
2 5-May-02 8-Apr-03
2 8-Apr-03 31-Dec-99
3 10-Jun-00 31-Oct-00
3 31-Oct-00 29-Dec-00
3 29-Dec-00 31-Dec-99