2016-06-28 72 views
0

我目前正在嘗試學習Apache Spark。我使用Maven和Java,因爲我不熟悉Scala或SBT。使用Maven的Apache Spark錯誤

此外,我試過的所有例子似乎都有超過2000行的「pom.xml」文件。是否需要許多依賴項?

Here's我試過的例子。 Here's我目前的「pom.xml」文件。 這是我得到的錯誤:

Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.ArrowAssoc(Ljava/lang/Object;)Ljava/lang/Object; 
at org.apache.spark.sql.SparkSession$Builder.config(SparkSession.scala:666) 
at org.apache.spark.sql.SparkSession$Builder.appName(SparkSession.scala:657) 
at misc.apache2.main(apache2.java:47) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:498) 
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) 

Process finished with exit code 1 

而且,如果我使用Maven項目的Apache星火,我需要有一個build.sbt文件?

與目前的IntelliJ 16.1.3中,Windows 10

回答

1

至於我所看到的運行,使用的是不同版本的星火。

從您的pom.xml開始,您使用Spark Core 1.2.0版,Spark Sql 2.0.0版和Spark Hive 1.6.1版。

嘗試使用星火同一版本的所有Spark依賴關係:

<dependency> 
    <groupId>org.apache.spark</groupId> 
    <artifactId>spark-core_2.11</artifactId> 
    <version>2.0.0-preview</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.spark</groupId> 
    <artifactId>spark-sql_2.11</artifactId> 
    <version>2.0.0-preview</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.spark</groupId> 
    <artifactId>spark-hive_2.11</artifactId> 
    <version>2.0.0-preview</version> 
</dependency>