【发布时间】:2018-04-09 20:33:58
【问题描述】:
我有 JavaRDD,其中包含 userId、movieId 和他们的评分,就像这样。
Rating [userId=1, movieId=2858, rating=4.0], Rating [userId=3, movieId=2858, rating=5.0], Rating [userId=12, movieId=2658, rating=5.0].
我想根据观看次数找出前 5 部电影。我尝试使用谷歌搜索,但无法了解如何在 JavaRDD 中对 movieId 和 userId 进行分组。我想计算有多少用户观看了一部电影并将其存储到地图中为Map(movieId, num_of_user)。我是 apache spark 的新手。
期望的输出:
2858 - 2
2658 - 1
如果有任何类似的示例/链接/教程在 JavaRDD 上执行类似的操作,我将不胜感激。
更新:我发现了基于 question 的类似 scala。有人可以看看,将scala代码转换为java代码。
提前致谢。
【问题讨论】:
标签: java scala apache-spark rdd