这是我正在为reduceByKey尝试的代码:
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(_ + _) } }
给编译器错误:"无法解析符号reduceByKey"
当我将鼠标悬停在reduceByKey的实现上时,它提供了三种可能的实现,因此看起来它正在被发现?:
您需要将以下导入添加到您的文件中:
import org.apache.spark.SparkContext._
Spark文档:
" 在Scala中,这些操作都是在包含Tuple2对象RDDS自动获得(在语言中内置的元组,创建通过写(A,B)),只要你输入org.apache.spark.SparkContext._在你的程序可以启用Spark的隐式转换.BoneRDDFunctions类中提供了键值对操作,如果你导入转换,它会自动包装元组的RDD. "