2017-04-03 47 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