【问题标题】:How to collect rows in a batch如何批量收集行
【发布时间】: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


    【解决方案1】:

    据我了解,您要做的是对您的选择进行分块。

    那么这应该可以解决问题:https://stackoverflow.com/a/29975781/21188126

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-12
      相关资源
      最近更新 更多