2017-04-03 103 views
2

我是新來的火花。我只是試圖解析使用sparksession或sqlcontext一個JSON文件。 但每當我運行它們,我收到以下錯誤。錯誤而使用SparkSession或sqlcontext

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.spark.internal.config.package$.CATALOG_IMPLEMENTATION()Lorg/apache/spark/internal/config/ConfigEntry; at org.apache.spark.sql.SparkSession$.org$apache$spark$sql$SparkSession$$sessionStateClassName(SparkSession.scala:930) at org.apache.spark.sql.SparkSession.sessionState$lzycompute(SparkSession.scala:112) at org.apache.spark.sql.SparkSession.sessionState(SparkSession.scala:110) at org.apache.spark.sql.DataFrameReader.(DataFrameReader.scala:535) at org.apache.spark.sql.SparkSession.read(SparkSession.scala:595) at org.apache.spark.sql.SQLContext.read(SQLContext.scala:504) at joinAssetsAndAd$.main(joinAssetsAndAd.scala:21) at joinAssetsAndAd.main(joinAssetsAndAd.scala)

截至目前我在Eclipse IDE中創建一個項目階並配置它作爲Maven項目並添加火花和SQL依賴關係。

我的依賴關係:

<dependencies> 
    <dependency> 
     <groupId>org.apache.spark</groupId> 
     <artifactId>spark-core_2.11</artifactId> 
     <version>2.1.0</version> 
    </dependency> 

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

    </dependencies> 

能否請您解釋一下爲什麼我收到此錯誤,以及如何糾正呢?

+3

嘗試使用火花核心和火花SQL版本相同。火花-SQL的變化版本'2.1.0' –

+0

已經分享您的代碼 – BDR

+1

'火花sql'需要火花核心的依賴,因此指定火花核兩次沒有太大的意義。此外,版本在Maven的不同:火花SQL = 2.0.0,火花核心= 2.1.0。 – dk14

回答

2

嘗試使用火花核相同的版本和火花SQL。火花-SQL的變化版本2.1.0