1. 程式人生 > >關於Spark 和 scala 版本衝突的問題

關於Spark 和 scala 版本衝突的問題

關於Spark 和 scala 版本的問題

最近用 scala 寫 Spark 的時候出現了兩種問題,最後排查都是版本的問題,使用的是IDEA本地執行的時候出現
尤其第二種,他並不是每次都會出現,可能只在執行某幾行有衝突的程式碼時才會出現

先把兩種異常貼出來

第一種

Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.$scope()Lscala/xml/TopScope$;

第二種

Error:scalac: Error: object VolatileIntRef does not have a
member create scala.reflect.internal.FatalError: object VolatileIntRef does not have a member create
  • 到當前的Spark的jar包 spark-core_2.10:2.1.2

    包名中-2.10是 scala 版本,2.1.2 是Spark的版本。

  • scala版本 2.11 的時候出現第一種錯誤
  • 到當前的Spark的jar包 spark-core_2.10:2.1.2
    ———————— 或 spark-core_2.11:2.1.2
  • scala版本 2.12 的時候出現第二種錯誤
解決方法自然簡單換成同一個版本就可以了

去中央倉庫查了下Spark的包最高只支援到scala2.11的版本,
所以scala的配置最高到2.11
或者Spark和Scala都用2.10 的都可以,取決於執行伺服器上執行的Spark叢集版本,我的有點亂,所以踩的坑有點多。。。