Hive 如何在配置单元中使用公共列合并两行数据

Hive 如何在配置单元中使用公共列合并两行数据,hive,hiveql,Hive,Hiveql,如何在配置单元中使用公共列合并两行的数据,我尝试了下面的格式,但缺少顺序 输入数据 column1 column2 1000000002 AA-Test1:1 1000000002 BB-Test2:1 期望结果 1000000002 AA-Test1:1##BB-Test2:1 但我越来越 1000000002 BB-Test1:1##AA-Test2:1 我不想在追加时翻转值 我尝试了下面的查询 CREATE TABLE Tab

如何在配置单元中使用公共列合并两行的数据,我尝试了下面的格式,但缺少顺序

输入数据

column1         column2
1000000002      AA-Test1:1
1000000002      BB-Test2:1 
期望结果

1000000002      AA-Test1:1##BB-Test2:1
但我越来越

1000000002      BB-Test1:1##AA-Test2:1
我不想在追加时翻转值

我尝试了下面的查询

CREATE TABLE Tabel1
AS
SELECT column1, concat_ws("##", COLLECT_SET(column2))
AS column2
FROM Table2 group by column1 order by column2;

有人能帮我吗。

使用子查询按第2列排序,然后使用concat\u ws和collect\u list


这里是答案,我实现了自己,只是添加了排序数组。创建表Tabel1作为SELECT column1,concat_ws,sort_arrayCOLLECT_SETcolumn2作为column2,从表2中按列分组1按列排序2;你的答案对我不起作用,请参阅我帖子下的评论以获得正确答案。
create table tabel1
as
select 
    a.column1, 
    concat_ws("##", collect_list(a.column2)) as column2
from ( select column1,column2 from Table2 sort by column2 ) a
group by a.column1;