我正在尝试运行一个用Maven构建的简单的scala程序
下面是源代码:
case class Person(name:String,age:Int)
object parquetoperations {
def main(args:Array[String]){
val sparkconf=new SparkConf().setAppName("spark1").setMaster("local")
val sc=new SparkContext(sparkconf);
val sqlContext= new SQLContext(sc)
import sqlContext.implicits._
val peopleRDD = sc.textFile(args(0));
val peopleDF=peopleRDD.map(_.split(",")).map(attributes=>Person(attributes(0),attributes(1).trim.toInt)).toDF()
peopleDF.createOrReplaceTempView("people")
val adultsDF=sqlContext.sql("select * from people where age>18")
//adultsDF.map(x => "Name: "+x.getAs[String]("name")+ " age is: "+x.getAs[Int]("age")).show();
}
}下面是我的maven依赖项。
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.10.0</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.10</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.10</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-xml</artifactId>
<version>2.11.0-M4</version>
</dependency>它抛出以下错误。试图以各种方式调试,但没有成功。
线程"main“java.lang.NoSuchMethodError中的异常: scala.Predef$.$scope()Lscala/xml/TopScope$;
看起来这是一个与加载星火web用户界面相关的错误。
发布于 2017-02-07 03:30:57
您所有的依赖项都在Scala2.10上,但是 Scala 依赖项是Scala2.11。
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-xml</artifactId>
<version>2.11.0-M4</version>
</dependency>顺便说一句,除非您确实有充分的理由这么做,否则我建议您迁移到Scala2.11.8。与2.10相比,每件事都要好得多。
https://stackoverflow.com/questions/42080616
复制相似问题