java - scala 中的 cogroup 两个 RDD

标签 java scala collections apache-spark iterable

我正在尝试将函数中的两个 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._ 

关于java - scala 中的 cogroup 两个 RDD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30654917/

相关文章:

java - 无法替换字符串java中的空格

scala - Scala 能否约束对象图,以便只有与上下文相关的对象可见?

collections - JPQL 检查集合成员是否具有所需值的属性

api - Java标准库: Which methods are with biggest number of arguments in the library?

java - 如何减少位平面代码的计算时间

java - displaytag导出的Excel以科学格式显示数字

scala - 注入(inject)数据库依赖 scala 对象

string - Scala-大小写匹配部分字符串

java - Java中如何将int[]转换为List<Integer>?

java - 队列的两种常见实现之间有什么区别?