Как сохранить последнюю запись в Hive? - PullRequest
0 голосов
/ 08 мая 2018

У меня есть логика, с помощью которой я объединяю несколько таблиц улья, чтобы сгенерировать приведенный ниже вывод.

Однако мне нужна помощь. Для того же идентификатора статуса (т. Е. 5 или 17) я просто хочу сохранить запись с наименьшим значением Ser NO.

Но также здесь есть одна загвоздка, если идентификатор статуса повторяется после обновления статуса (например, идентификатор состояния 17 снова появился в записи 13), и его следует сохранить, поскольку он снова перезапустился и вернулся ).

Так что, если я сортирую по дате, времени и состоянию и удаляю дубликаты, это не будет служить моей цели.

Мне нужно поставить цикл и проверить, изменился ли идентификатор статуса по сравнению с предыдущей записью, и отфильтровать записи, если идентификатор статуса совпадает.

Ожидаемый результат должен быть:

    Ser_NO   ID    ID_NO    STATUS  DESCRIPTION             initiated_dt    time
    1        100    10      5       Initiated               20180426        000601
    3        100    10      15      BM(O) review            20180426        021424
    4        100    10      17    BM(O) & SME Review        20180426        021552
    7        100    10      40  Pending BSDA First Approval 20180426        021810
    8        100    10      25  Pending Controller approval 20180426        021844
    9        100    10      55  Booking SDA Completed       20180426        021917
    11       100    10      4   Re-Initiated                20180426        021944
    12       100    10      15  BM(O) review                20180426        030648
    13       100    10      17  BM(O) & SME Review          20180426        030714
    14       100    10      40  Pending BSDA First Approval 20180426        030734
    16       100    10      25  Pending Controller approval 20180426    030805
    17       100    10      55  Booking SDA Completed       20180426    030837
    24       100    10      60  Shipping SDA Completed      20180426    031056
    25       100    10      55  Booking SDA Completed       20180426    031124

Но я хочу знать, есть ли более простой подход для достижения этой цели?

Ser_NO   ID    ID_NO    STATUS  DESCRIPTION             initiated_dt    time
1        100    10      5       Initiated               20180426        000601
2        100    10      5       Initiated               20180426        021408
3        100    10      15      BM(O) review            20180426        021424
4        100    10      17    BM(O) & SME Review        20180426        021552
5        100    10      17    BM(O) & SME Review        20180426        021621
6        100    10      17    BM(O) & SME Review        20180426        021639
7        100    10      40  Pending BSDA First Approval 20180426        021810
8        100    10      25  Pending Controller approval 20180426        021844
9        100    10      55  Booking SDA Completed       20180426        021917
10       100    10      55  Booking SDA Completed       20180426        021917
11       100    10      4   Re-Initiated                20180426        021944
12       100    10      15  BM(O) review                20180426        030648
13       100    10      17  BM(O) & SME Review          20180426        030714
14       100    10      40  Pending BSDA First Approval 20180426        030734
15       100    10      40  Pending BSDA First Approval 20180426    030805
16       100    10      25  Pending Controller approval 20180426    030805
17       100    10      55  Booking SDA Completed       20180426    030837
18       100    10      55  Booking SDA Completed       20180426    030837
24       100    10      60  Shipping SDA Completed      20180426    031056
25       100    10      55  Booking SDA Completed       20180426    031124
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...