2017-06-14 48 views
0

考虑下面的数据框:总单列的跨行在星火基于条件的数据帧

+-------+-----------+-------+ 
| rid| createdon| count| 
+-------+-----------+-------+ 
| 124| 2017-06-15|  1 | 
| 123| 2017-06-14|  2 | 
| 123| 2017-06-14|  1 | 
+-------+-----------+-------+ 

我需要添加具有createdonrid都是相同的行中count列。

因此所得到的数据框应该如下:

+-------+-----------+-------+ 
| rid| createdon| count| 
+-------+-----------+-------+ 
| 124| 2017-06-15|  1 | 
| 123| 2017-06-14|  3 | 
+-------+-----------+-------+ 

我使用星火2.0.2。

我已经尝试过agg,条件内选择等,但无法找到解决方案。谁能帮我?

回答

1

试试这个

import org.apache.spark.sql.{functions => func} 
df.groupBy($"rid", $"createdon").agg(func.sum($"count").alias("count")) 
+0

辉煌。它的工作。谢谢。 – Karthikeyan

0

这应该做你想要什么:

import org.apache.spark.sql.functions.sum 

df 
.groupBy($"rid",$"createdon") 
.agg(sum($"count").as("count")) 
.show