在星火2.1 docs它提到使用Scala的2.12火花2.1
星火爪哇7+,Python 2.6中運行+/3.4 +和R 3.1+。對於Scala API,Spark 2.1.0使用Scala 2.11。您將需要使用兼容的Scala版本(2.11.x)。
在斯卡拉2.12 release news它也提到:
雖然斯卡拉2.11和2.12大多是源兼容,以方便跨建築,它們不是二進制兼容的。這使我們能夠不斷改進Scala編譯器和標準庫。
但是,當我建立一個超級jar(使用scala 2.12)並在火花2.1上運行它。每件事情都很好。
我知道它沒有任何官方消息來源,但在47 degree blog他們提到spark 2.1確實支持scala 2.12。
怎麼能解釋那些(衝突?)信息的和平?
有一個正式的區別,即*「我們支持這個版本,我們已經測試過了,如果你有問題,那麼這是我們一方的錯誤」* vs. *「按照你的方式,如果你願意,可以試驗,但如果你有問題,那就不要再抱怨了。「*。 –
是的,但如果scala 2.11不是與2.12二進制兼容的話它怎麼能工作呢? – NetanelRabinowitz
不兼容意味着至少有1個問題。可以爲99.99%的API調用確定。你用自定義的Uber-JAR測試了多少?也許15%? –