【发布时间】:2021-10-14 19:50:52
【问题描述】:
我们需要使用 Pyspark 将基于 ID 的多行合并为一条记录。如果该列有多个更新,那么我们必须选择对它进行最后一次更新的那个。 请注意,NULL 表示在该实例中没有对列进行更新。 因此,基本上我们必须创建一个包含对记录进行合并更新的单行。 因此,例如,如果这是数据框 ...
寻找类似的答案,但在 Pyspark .. Merge rows in a spark scala Dataframe
------------------------------------------------------------
| id | column1 | column2 | updated_at |
------------------------------------------------------------
| 123 | update1 | <*no-update*> | 1634228709 |
| 123 | <*no-update*> | 80 | 1634228724 |
| 123 | update2 | <*no-update*> | 1634229000 |
预期输出是 -
------------------------------------------------------------
| id | column1 | column2 | updated_at |
------------------------------------------------------------
| 123 | update2 | 80 | 1634229000 |
【问题讨论】:
-
为什么 column2 80 在结果中。如果您想要来自最新更新的数据,它不应该为 NULL。还是有更多的规则
-
@Emerson 很抱歉造成混乱。 NULL 实际上意味着没有对该行中的列进行更新。
标签: pyspark