scala中的cogroup两个RDD

cogroup two RDD in scala

我正在尝试在我的函数中将两个 RDD 组合在一起进行一些计算。我的代码如下:

def myCogroupFunction(teachers: org.apache.spark.rdd.RDD[Teacher], students: org.apache.spark.rdd.RDD[Student]) {

    val teacherPairs = teachers.map { t =>
      val nameKey: String = t.getName()
      (nameKey.toUpperCase(), t)
    }

    val studentPairs = students.map { s =>
      val nameKey: String = s.getName()
      (nameKey.toUpperCase(), s)
    }

    teacherPairs.cogroup(studentPairs)
  }

但是,我收到错误提示:

value cogroup is not a member of org.apache.spark.rdd.RDD[(String, com.abc.Teacher)]

我这里做错了什么?非常感谢!

这应该有效,除非您使用的是旧版本的 Spark,在这种情况下,您需要通过以下方式导入使之成为可能的隐式:

import SparkContext._