首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在IntelliJ中找不到reduceByKey方法

在IntelliJ中找不到reduceByKey方法
EN

Stack Overflow用户
提问于 2014-06-06 22:31:57
回答 3查看 7.4K关注 0票数 8

下面是我在reduceByKey上试用的代码:

代码语言:javascript
复制
import org.apache.spark.rdd.RDD
import org.apache.spark.SparkContext._
import org.apache.spark.SparkContext
import scala.math.random

import org.apache.spark._
import org.apache.spark.storage.StorageLevel

object MapReduce {

  def main(args: Array[String]) {

  val sc = new SparkContext("local[4]" , "")

  val file = sc.textFile("c:/data-files/myfile.txt")

  val counts = file.flatMap(line => line.split(" "))
    .map(word => (word, 1))
    .reduceByKey(_ + _)

  }

}

给出编译器错误:“无法解析symbol reduceByKey”

当我将鼠标悬停在reduceByKey的实现上时,它给出了三种可能的实现,因此似乎正在找到它?:

EN

回答 3

Stack Overflow用户

发布于 2014-09-16 18:15:14

您需要将以下导入添加到文件中:

导入org.apache.spark.SparkContext._

Spark文档:

“在Scala中,只要您在程序中导入org.apache.spark.SparkContext._以启用Tuple2的隐式转换,这些操作在包含Spark对象(语言中的内置元组,通过简单地编写(a,b)即可创建)、的RDD上自动可用。键-值对操作在PairRDDFunctions类中可用,如果您导入转换,该类将自动环绕元组的RDD。”

票数 11
EN

Stack Overflow用户

发布于 2015-07-10 01:21:34

似乎在Spark 1.4.x中记录的行为发生了变化。要让IntelliJ识别隐式转换,您现在必须添加以下导入:

代码语言:javascript
复制
import org.apache.spark.rdd.RDD._
票数 3
EN

Stack Overflow用户

发布于 2014-06-12 22:30:16

我注意到有时IJ无法解析通过 https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/rdd/PairRDDFunctions.scala隐式导入的方法。

隐式导入的方法包括、reduceByKey*、reduceByKeyAndWindow*方法。我现在没有一个通用的解决方案,-except,是的,你可以安全地忽略智能感知错误

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24084335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档