繁体   English   中英

如何枚举数据帧的行? Spark Scala

[英]How to enumerate the rows of a dataframe? Spark Scala

我有一个像这样的数据框(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")))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM