[英]sortBy is not a member of org.apache.spark.rdd.RDD
您好〜我对SPARK感兴趣。 我在spark-shell中使用以下代码。
val data = sc.parallelize(Array(Array(1,2,3), Array(2,3,4), Array(1,2,1))
res6: org.apache.spark.rdd.RDD[Array[Int]] = ParallelCollectionRDD[0] at parallelize at <console>:26
data.map(x => (x(d), 1)).reduceByKey((x,y) => x + y).sortBy(_._1)
res9: Array[(Int, Int)] = Array((1,2), (2,1))
这行得通。 但是,如果我在sbt汇编中使用此命令,则无法正常工作。
错误消息是
[错误]值sortBy不是org.apache.spark.rdd.RDD [(Int,Int)]的成员
[错误] data.map(x =>(x(d),1))。reduceByKey((x,y)=> x + y)。 sortBy(_._ 1) <=这是问题。
我的build.sbt代码是
import AssemblyKeys._
assemblySettings
name := "buc"
version := "0.1"
scalaVersion := "2.10.5"
libraryDependencies += "org.apache.spark" % "spark-mllib_2.10" % "1.0.0" % "provided"
有什么问题吗?
第一个问题是您使用的是spark 1.0.0
,如果您阅读文档,则不会在RDD类中找到任何sortBy
方法。 因此,您应该从1.0.x
更新到2.0.x
另一方面, spark-mllib
依赖关系用于获取Spark MLlib库,这不是您所需要的。 您需要获取spark-core
的依赖spark-core
:
libraryDependencies += "org.apache.spark" % "spark-core_2.10" % "2.0.0" % "provided"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.