【发布时间】:2021-07-18 09:17:42
【问题描述】:
我们有这个 PySpark 数据框:
+---+--------+-----------+
| id|language| summary|
+---+--------+-----------+
| 2| Java| Great|
| 4| Python| Awesome|
| 7| Python| Amazing|
| 9| Python| Incredible|
| 3| Scala| Good|
| 6| Scala| Fantastic|
+---+--------+-----------+
这个问题有点复杂,请多多包涵。对于具有相同语言列值的行,我希望能够使用 id 作为决胜局来调整摘要列值(具有相同语言的行应该选择该语言的最大 id 行并将所有摘要更改为等于最大 ID 行的摘要)。因此,例如对于 Python,我希望能够用“Incredible”替换所有摘要,因为带有“Incredible”的行具有 Python 的最高 id。斯卡拉也一样。所以会变成这样:
+---+--------+-----------+
| id|language| summary|
+---+--------+-----------+
| 2| Java| Great|
| 4| Python| Incredible|
| 7| Python| Incredible|
| 9| Python| Incredible|
| 3| Scala| Fantastic|
| 6| Scala| Fantastic|
+---+--------+-----------+
我们可以假设每个语言组的 id 总是唯一的。尽管我们可能会在不同的语言中看到相同的 id,但对于一种语言,我们永远不会有两次相同的 id。
【问题讨论】:
标签: apache-spark pyspark apache-spark-sql