繁体   English   中英

sortBy不是org.apache.spark.rdd.RDD的成员

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM