hive - 如何使用配置单元中的公共列连接两行数据
问题描述
如何使用配置单元中的公共列连接两行的数据,我尝试了以下格式,但我错过了顺序。
输入数据
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;
有人能帮我吗。
解决方案
使用子查询按 column2 排序,然后使用concat_ws
andcollect_list
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;
推荐阅读
- reactjs - React TypeScript:属性“X”的类型不兼容。类型“Y”不可分配给类型“Z”
- java - Android:如何为 Button 设置 OnClickListener 是 ListView?
- python - python理解中的变量/没有给定值的变量如何工作
- python - 具有整数数组索引的 Numpy 块矩阵分配
- python - 需要多个 wait_for_messages discord.py
- vb.net - VB.NET,框架 3.5 | Windows 和 ProgramFilesX86 文件夹作为字符串?
- google-maps - Google Maps API BUG - 不返回特定示例的位置
- java - 如何使用 Mockito 跳过调用 void 方法
- c# - NAudio 在函数被调用之前播放音乐
- vb.net - VSTO Outlook 加载项中的分叉线程