Дедупликация с использованием HiveQL

У меня есть таблица кустов с полями «a» (int), «b» (string), «c» (bigint), «d» (bigint) и «e» (string).
У меня есть такие данные, как:

a  b  c   d   e
---------------
1  a  10  18  i
2  b  11  19  j
3  c  12  20  k
4  d  13  21  l
1  e  14  22  m
4  f  15  23  n
2  g  16  24  o
3  h  17  25  p

Таблица отсортирована по ключу 'b'.
Теперь нам нужен вывод, как показано ниже:

a  b  c   d   e
---------------
1  e  14  22  m
4  f  15  23  n
2  g  16  24  o
3  h  17  25  p

который будет дедуплицирован по ключу «a», но сохранит последний (последний) «b».

Возможно ли использовать запрос Hive (HiveQL)?


person chanchal1987    schedule 16.04.2013    source источник
comment
Это может быть выражено в очень простом задании Map/Reduce, в котором есть только картограф.   -  person Olaf    schedule 17.04.2013
comment
Но мне нужно сделать это с помощью HIVE   -  person chanchal1987    schedule 18.04.2013


Ответы (1)


Если столбец b уникален, попробуйте выполнить hql:

select 
* 
from
(
    select max(b) as max_b
    from
    table
    group by a
) table1
join table on table1.max_b = table.b
person pensz    schedule 19.04.2013