你好~我对spark感兴趣。我在sparkshell中使用下面的代码。
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 assembly命令,它就不起作用了。
错误消息是
[错误]值sortby不是org.apache.spark.rdd.rdd[(int,int)]的成员
[错误]data.map(x=>(x(d),1)).reducebykey((x,y)=>x+y).sortby(u.\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"
有什么问题吗?
1条答案
按热度按时间v1uwarro1#
第一个问题是你正在使用
spark 1.0.0
,如果您阅读了文档,您将找不到任何sortBy
方法。所以,你应该从1.0.x
至2.0.x
.另一方面
spark-mllib
依赖关系用于获取spark mllib库,而这不是您所需要的。你需要得到的依赖spark-core
: