如何在Hive中用2个定界符连接列

时间:2018-07-30 05:15:48

标签: sql hive hiveql

如何在配置单元中用2个定界符连接列。请在输入列下方找到。

column1 column2 column3 column4 column5 column6 column7 column8
1        abc    dfe     ghi     jkl     mno     pqr     1
2        abc    dfe     ghi     jkl     mno     pqr     1

必需的输出连接字符串,按colum8分组,即值1。

1:abc:dfe:ghi:jkl-mno:pqr,2:abc:dfe:ghi:jkl-mno:pqr

有人可以帮我吗

2 个答案:

答案 0 :(得分:0)

可以尝试吗?
首先,创建新列,将每一行的每一列连接起来,然后通过基于column8将它们合并成一列,然后将其合并在一起(使用concat_ws):

select concat_ws(',',
                 collect_list(concat(column1, ':', column2, ':', column3, ':', column4,':', column5, '-', column6, ':', column7
                                    )
                             )
                ) as output
from your_table
group by column8;

答案 1 :(得分:0)

我会这样写:

select concat_ws(',',
                 collect_list(concat_ws(':', column1, column2, column3, column4, column5 || '-' || column6, column7)
                             )
                ) as output
from your_table
group by column8;