【发布时间】:2021-09-24 21:25:13
【问题描述】:
数据集如下所示:
| id | result | rank |
|---|---|---|
| 001 | pass | 2 |
| 002 | fail | 3 |
| 001 | fail | 1 |
| 002 | pass | 1 |
我想要做的:按 id 对数据集进行分组,并按照排名列的升序连接结果。
| id | results |
|---|---|
| 001 | fail-pass |
| 002 | pass-fail |
由于涉及到其他列的顺序,concat_ws('-',collect_set(result))函数无法实现我的想法。
是否有任何内置函数可以帮助我实现这一点,或者编写 UDF 似乎是唯一的解决方案?
【问题讨论】:
标签: sql arrays hive concatenation hiveql