小编Wic*_*ian的帖子

scala引发了如何获得最新一天的记录

data=
"""
user date      item1 item2
1    2015-12-01 14  5.6
1    2015-12-01 10  0.6
1    2015-12-02 8   9.4
1    2015-12-02 90  1.3
2    2015-12-01 30  0.3
2    2015-12-01 89  1.2
2    2015-12-30 70  1.9
2    2015-12-31 20  2.5
3    2015-12-01 19  9.3
3    2015-12-01 40  2.3
3    2015-12-02 13  1.4
3    2015-12-02 50  1.0
3    2015-12-02 19  7.8
"""
Run Code Online (Sandbox Code Playgroud)

如果我有上面的数据,我怎样才能得到每个用户的最新一天的记录?我试着使用groupByKey,但不知道.

val user = data.map{
case(user,date,item1,item2)=>((user,date),Array(item1,item2))
}.groupByKey()
Run Code Online (Sandbox Code Playgroud)

然后我不知道如何处理它.谁能给我一些建议?非常感谢:)

更新:

我改变了我的数据,现在用户在最近一天有几条记录,我希望得到所有这些记录.谢谢:)

第二次更新:

我想得到的结果是:

user1 (2015-12-02,Array(8,9.4),Array(90,1.3))
user2 (2015-12-31,Array(20,2.5))
user3 (2015-12-02,Array(13,1.4),Array(50,1.0),Array(19,7,8))
Run Code Online (Sandbox Code Playgroud)

现在我写了一些代码:

val data2=data.trim.split("\\n").map(_split("\\s+")).map{ …
Run Code Online (Sandbox Code Playgroud)

scala apache-spark

4
推荐指数
1
解决办法
3502
查看次数

标签 统计

apache-spark ×1

scala ×1