过滤掉条目最少的 RDD 中的元素

Filtering out elements in an RDD with fewest entries

我有一个产品的 RDD (productID, name) 和另一个使用 MLLib Rating 对象 (ratingTimestamp, Rating(userID, productID, rating)) 的人对这些产品的评级的 RDD。

不过,在我对这些进行任何处理之前,我想过滤掉并删除评论数量不足的产品,比如 500 条左右,因为有很多产品只有 1 个 5 星评论什么的。

我正在使用此代码创建按评分数排序的产品 ID 映射:

 val mostRated = ratings.map(_._2.product)
                        .countByValue
                        .toSeq
                        .sortBy(- _._2)
                        .map(_._1)

但这给了我所有的项目,我只需要过滤掉所有不够的东西。我尝试用上面的 filter() 方法进行试验,但无法弄清楚要给它什么才能得到我想要的结果。

解决了,只需要在排序之前添加这个过滤器:

.filter(x => x._2 > 1000)(例如 1000 条或更多评论)