根据一列的总和将数据帧分为3个存储桶

时间:2018-09-13 18:10:11

标签: scala apache-spark apache-spark-sql

我有一个数据框

c1     c2
user1  5 
user2  3
user3  3
user4  1

我想根据c2的总和将数据帧分为3个相等的组

c2的总和= 12/3 = 4

  

在这种情况下,user1的值为5(> 4)第一个组,user2和user3(总计6)> 4(第二个组),其余所有值都应在第三个组中

所以我期望的数据帧

    c1     c2  rank
    user1  5   1
    user2  3   2
    user3  3   2
    user4  1   3

我正在尝试使用Window函数和自定义window函数,但到目前为止还没有运气。

0 个答案:

没有答案