【发布时间】:2016-10-25 21:37:02
【问题描述】:
你好~我对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 程序集使用这个命令,它就不起作用了。
错误信息是
[error] 值 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?
-
我使用的是 spark 2.0.0 版。 (spark-2.0.0-bin-hadoop2.7)
-
但您正在加载 spark-mllib_2.10 版本 1.0.0。你知道这有意义吗?
-
其实..我不太清楚这个...要不要换成spark-mllib_2.10 2.0.0版.??
-
另外,我的 plugins.sbt 代码是
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.11.2")。还好吗?
标签: scala apache-spark sbt rdd sbt-assembly