【发布时间】:2023-02-10 23:24:54
【问题描述】:
我有一个看起来像这样的表:
id |
values |
|---|---|
1 |
a |
2 |
b |
3 |
c |
4 |
d |
5 |
e |
6 |
f |
我需要生成 group_id 列以便能够使用
select collect_list(values) from table group by group_id
例如,对于 batchSize = 2
id |
values |
group_id |
|---|---|---|
1 |
a |
1 |
2 |
b |
1 |
3 |
c |
2 |
4 |
d |
2 |
5 |
e |
3 |
6 |
f |
3 |
把它弄出来:
group_id |
collect_list(values) |
|---|---|
1 |
[a, b] |
2 |
[c, d] |
3 |
[e, f] |
或者,对于 batchSize = 3
id |
values |
group_id |
|---|---|---|
1 |
a |
1 |
2 |
b |
1 |
3 |
c |
1 |
4 |
d |
2 |
5 |
e |
2 |
6 |
f |
2 |
出去
group_id |
collect_list(values) |
|---|---|
1 |
[a, b, c] |
2 |
[d, e, f] |
如何生成此列 group_id 以便我可以收集值并按 group_id 分组?
【问题讨论】:
标签: sql scala apache-spark hive