pyspark 需要根据时间戳对id添加顺序

jjhzyzn0  于 2022-11-21  发布在  Spark
关注(0)|答案(1)|浏览(144)

预期结果

已尝试所有分组和条件,但不起作用

vqlkdk9b

vqlkdk9b1#

您可以通过窗口功能实现这一点,如下所示:

from pyspark.sql.window import Window
from pyspark.sql.functions import row_number

window = Window.partitionBy("user").orderBy("timestamp")

df.withColumn("order", row_number().over(window)).show()

+----+---------+-----+
|user|timestamp|order|
+----+---------+-----+
| 111|    12:00|    1|
| 111|    12:30|    2|
| 111|    12:45|    3|
| 112|    12:00|    1|
| 112|    12:30|    2|
| 112|    12:45|    3|
| 113|    12:00|    1|
| 113|    12:30|    2|
| 113|    12:45|    3|
+----+---------+-----+

相关问题