Scala 如何枚举数据帧的行?火花鳞片

Scala 如何枚举数据帧的行?火花鳞片,scala,apache-spark,dataframe,Scala,Apache Spark,Dataframe,我有这样一个数据帧(renderDF): +------+---+-------+ | uid|sid|renders| +------+---+-------+ | david| 0| 0| |rachel| 1| 0| |rachel| 3| 0| |rachel| 2| 0| | pep| 2| 0| | pep| 0| 1| | pep| 1| 1| |rachel| 0| 1

我有这样一个数据帧(renderDF):

+------+---+-------+
|   uid|sid|renders|
+------+---+-------+
| david|  0|      0|
|rachel|  1|      0|
|rachel|  3|      0|
|rachel|  2|      0|
|   pep|  2|      0|
|   pep|  0|      1|
|   pep|  1|      1|
|rachel|  0|      1|
|  rick|  1|      1|
|  ross|  0|      3|
|  rick|  0|      3|
+------+---+-------+
我想使用一个窗口函数来实现这个结果

+------+---+-------+-----------+
|   uid|sid|renders|row_number |    
+------+---+-------+-----------+
| david|  0|      0|        1  |
|rachel|  1|      0|        2  |
|rachel|  3|      0|        3  |
|rachel|  2|      0|        4  |
|   pep|  2|      0|        5  |
|   pep|  0|      1|        6  |
|   pep|  1|      1|        7  |
|rachel|  0|      1|        8  |
|  rick|  1|      1|        9  |
|  ross|  0|      3|       10  |
|  rick|  0|      3|       11  |
+------+---+-------+-----------+
我尝试:

val windowRender = Window.partitionBy('sid).orderBy('Renders)
renderDF.withColumn("row_number", row_number() over windowRender)
但它不能满足我的需要。 分区是我的问题吗?

试试这个:

val dfWithRownumber = renderDF.withColumn("row_number", row_number.over(Window.partitionBy(lit(1)).orderBy("renders")))

“它不起作用”并没有真正的帮助。实际的错误消息是什么?您可以不使用
partitionBy()
进行尝试,但这不会被分发。它不会给我错误,但不会执行@Marth所需的操作