简体   繁体   English

在scala中将两个RDD分组

[英]cogroup two RDD in scala

I am trying to cogroup two RDDs in my function for some calculations. 我正在尝试将我的函数中的两个RDD组合在一起进行一些计算。 My code is below: 我的代码如下:

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)
  }

However, I got errors saying: 但是,我收到错误消息:

value cogroup is not a member of org.apache.spark.rdd.RDD[(String, com.abc.Teacher)] 值cogroup不是org.apache.spark.rdd.RDD [(String,com.abc.Teacher)]的成员

What did I do wrong here? 我在这里做错了什么? Thanks a lot! 非常感谢!

除非您使用的是旧版本的Spark,否则这应该起作用,在这种情况下,您需要通过以下方式导入隐式文件,以使其成为可能:

import SparkContext._ 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM