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;