【问题标题】:Filtering out elements in an RDD with fewest entries过滤掉 RDD 中条目最少的元素
【发布时间】:2017-06-27 17:26:00
【问题描述】:

我有一个产品 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() 方法,但不知道要给它什么才能得到我想要的结果。

【问题讨论】:

    标签: scala apache-spark rdd apache-spark-mllib


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2017-11-27
      • 1970-01-01
      • 2021-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-27
      • 1970-01-01
      相关资源
      最近更新 更多