如何在 Spark Scala 中的 Schema RDD [从案例类中创建] 中查找重复项以及相应的重复计数?

问题描述

我有一个从 Case Class 创建的 Schema RDD。考虑到 Spark Scala 中的所有列和重复计数,我需要找到重复的条目

解决方法

因为它是一个 case 类,所以它会有自己的哈希函数。您可以使用它来对元素进行分组。

val yourRdd: RDD[YourCaseClass] = ???

val duplicateCountRdd: RDD[(Int,Iterable[YourCaseClass])] = 
  yourRdd
    .groupBy(_.hashCode)
    .map({ case (hash,duplicates) => (duplicates.size,duplicates) })