【发布时间】:2020-10-14 05:40:47
【问题描述】:
我有一个如下所示的数据集; col1 的值重复多次和 col2 的唯一值。这个原始数据集可以有近十亿行,所以我不想使用 collect 或 collect_list,因为它不会针对我的用例进行横向扩展。
原始数据集:
+---------------------|
| col1 | col2 |
+---------------------|
| AA| 11 |
| BB| 21 |
| AA| 12 |
| AA| 13 |
| BB| 22 |
| CC| 33 |
+---------------------|
我想将数据集转换为以下数组格式。 newColumn 作为 col2 的数组。
转换后的数据集:
+---------------------|
|col1 | newColumn|
+---------------------|
| AA| [11,12,13]|
| BB| [21,22] |
| CC| [33] |
+---------------------|
我见过this 解决方案,但它使用collect_list 并且不会在大数据集上横向扩展。
【问题讨论】:
-
我赞成这个问题,因为这更多的是关于性能而不是过程本身。我想知道为什么这里关闭了
-
是的,这里也是,自动关闭,可能没看完整题,错过了性能方面。
标签: arrays apache-spark apache-spark-sql transformation large-data