Я пытаюсь запустить простую программу Спарк SCALA построен с MavenИсключение при работе с программой Spark, с контекстом SQL в 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 I иметь.
<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>
Он выдает следующую ошибку. Пытались отлаживать различными способами, не повезло
Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.$scope()Lscala/xml/TopScope$;
Похоже, что это ошибка, связанная с загрузкой искрой веб-интерфейс
Я пробовал использовать scala 2.11. Столкнувшись с той же ошибкой –
, перейдите через свой pom и замените все 2.10 на 2.11 и повторите попытку. Как я уже сказал, у вас 2.11 в одном месте и 2.10 в других. Вы должны быть последовательными. – marios
Еще одна вещь: Scala XML был частью Scala до 2.10, поэтому весь XML-код включен в 2.10, вам не нужно добавлять зависимость ** scala-xml ** (если вы решили использовать 2.10) , – marios