Hive 保持蜂巢收集中记录的顺序

Hive 保持蜂巢收集中记录的顺序,hive,hiveql,Hive,Hiveql,我有一个HIVE表,如下所示: select id, id_2, val from test order by id; 234 974 0.5 234 457 0.7 234 236 0.5 234 859 0.6 123 859 0.7 123 236 0.6 123 974 0.5 123 457 0.5 我正在尝试根据id值收集数据。我需要收集的数据对每一行都遵循相同的顺序。我的预期输出如下:(只要所有行的顺序相同,任何顺序都可以): 我使用了来自的collectUDF 如您所见,列的

我有一个
HIVE
表,如下所示:

select id, id_2, val from test order by id;

234 974 0.5
234 457 0.7
234 236 0.5
234 859 0.6
123 859 0.7
123 236 0.6
123 974 0.5
123 457 0.5
我正在尝试根据
id
收集数据。我需要收集的数据对每一行都遵循相同的顺序。我的预期输出如下:(只要所有行的顺序相同,任何顺序都可以):

我使用了来自的
collect
UDF

如您所见,列的顺序没有得到保持。有没有办法在整个输出过程中保持顺序不变?任何提示都将不胜感激。

请使用此查询

select tmp.id, collect(id_2), collect(tmp.val) from
(select id, id_2, val from test
order by id desc, id_2 desc) tmp
group by tmp.id
;
输出如下:

234 [974,457,236,859]   [0.5,0.7,0.5,0.6]
123 [974,457,236,859]   [0.5,0.5,0.6,0.7]
基本修改

order by id

234 [974,457,236,859]   [0.5,0.7,0.5,0.6]
123 [974,457,236,859]   [0.5,0.5,0.6,0.7]
order by id
   order by id desc, id_2 desc