【发布时间】:2020-02-06 20:39:56
【问题描述】:
我是 PySpark 的超级新手,我正在尝试获取相同 id 内的值之间的差异。我正在为 DataFrame 使用 csv 格式。
比如我的数据集是这样的:
+---+-----+
| id|value|
+---+-----+
| 1| 65|
| 1| 66|
| 1| 65|
| 2| 68|
| 2| 71|
+---+-----+
我想要这样的东西
+---+-----+----------+
| id|value|prev_value|
+---+-----+----------+
| 1| 65| null|
| 1| 66| 65|
| 1| 65| 66|
| 2| 68| 65|
| 2| 71| 68|
+---+-----+----------+
这样计算值之间的差异就很容易了。
【问题讨论】:
-
您的示例的问题是数据框不是ordered,只要您不提供允许排序的列(例如行号),结果就会有所不同。
-
同意。除非您有一个单调递增的主键,否则无法保证订单将被保留。
标签: pyspark