记一个使用SparkSession的错误(构造sparksession时候的getOrCreate的错误)

首先是错误输出:

19/09/20 14:12:40 INFO BlockManagerMaster: Registering BlockManager BlockManagerId(driver, 192.168.101.1, 56307, None)
19/09/20 14:12:40 INFO BlockManagerMasterEndpoint: Registering block manager 192.168.101.1:56307 with 894.3 MB RAM, BlockManagerId(driver, 192.168.101.1, 56307, None)
19/09/20 14:12:40 INFO BlockManagerMaster: Registered BlockManager BlockManagerId(driver, 192.168.101.1, 56307, None)
19/09/20 14:12:40 INFO BlockManager: Initialized BlockManager: BlockManagerId(driver, 192.168.101.1, 56307, None)
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.spark.internal.config.package$.SHUFFLE_SPILL_NUM_ELEMENTS_FORCE_SPILL_THRESHOLD()Lorg/apache/spark/internal/config/ConfigEntry;
	at org.apache.spark.sql.internal.SQLConf$.<init>(SQLConf.scala:1003)
	at org.apache.spark.sql.internal.SQLConf$.<clinit>(SQLConf.scala)
	at org.apache.spark.sql.internal.StaticSQLConf$.<init>(StaticSQLConf.scala:31)
	at org.apache.spark.sql.internal.StaticSQLConf$.<clinit>(StaticSQLConf.scala)
	at org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:935)
	at test.App$.main(App.scala:27)
	at test.App.main(App.scala)

错误所在的代码行是:

  val sparkSession:SparkSession= SparkSession.builder().
      master("local")
      .appName("spark session example")
      .getOrCreate()

这个还能有错?我也是一脸懵逼。
一顿百度,google,最后的错误的解决方法在这里记录一下:
主要是版本问题,SparkSession在sparksql中,而sparksql依赖于spark-core,所以应该保持spark-sql和spark-core版本一致,这里说一下pom文件中的依赖的写法,
原来的pom.xml中的一点写法:
< dependency>
< groupId>org.apache.spark</ groupId>
< artifactId>spark-core_2.11</ artifactId>
< version>2.2.0</ version>
</ dependency>
< dependency>
< groupId>org.apache.spark< /groupId>
< artifactId>spark-sql_2.11</ artifactId>
< version>2.3.0< /version>
< /dependency>
这里可以看见spark-core是基于scala的2.11版本的,使用的版本是2.2.0,spark-sql基于scala的2.11版本,使用的版本是2.3.0,错误就在2.3.0和2.2.0不一致导致的。所以改好之后重新import change一下就好了。
改过的pom.xml文件片段:
< dependency>
< groupId>org.apache.spark< /groupId>
< artifactId>spark-core_2.11< /artifactId>
< version>2.2.0< /version>
</ dependency>
< dependency>
< groupId>org.apache.spark< /groupId>
< artifactId>spark-sql_2.11</ artifactId>
< version>2.2.0< /version>
< /dependency>

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值