0

フィールド '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) を使用することは可能ですか?

4

1 に答える 1

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
于 2013-04-19T05:39:45.990 に答える