值查找不是org.apache.spark.rdd.RDD [(String,String)]的成员

时间:2015-05-20 07:29:09

标签: scala apache-spark rdd

当我厌倦了用SBT编译我的scala程序时,我遇到了问题。 我已经导入了我需要的类。这是我的代码的一部分。

import java.io.File
import java.io.FileWriter
import java.io.PrintWriter
import java.io.IOException
import org.apache.spark.{SparkConf,SparkContext}
import org.apache.spark.rdd.PairRDDFunctions
import scala.util.Random    
......
val data=sc.textFile(path)
    val kv=data.map{s=>
      val a=s.split(",")
      (a(0),a(1))
    }.cache()
    kv.first()
    val start=System.currentTimeMillis()
    for(tg<-target){
      kv.lookup(tg.toString)
    }

错误详情为:

value lookup is not a member of org.apache.spark.rdd.RDD[(String, String)]
[error]           kv.lookup(tg.toString)

令我困惑的是我有导入导入org.apache.spark.rdd.PairRDDFunctions, 但它不起作用。当我在Spark-shell中运行它时,它运行良好。

1 个答案:

答案 0 :(得分:1)

import org.apache.spark.SparkContext._ 可以访问允许您在类型(K,V)的RDD上使用PairRDDFunction的implicits。 无需直接导入PairRDDFunctions