2017-03-19 148 views
13

在星火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。

怎麼能解釋那些(衝突?)信息的和平?

+0

有一個正式的區別,即*「我們支持這個版本,我們已經測試過了,如果你有問題,那麼這是我們一方的錯誤」* vs. *「按照你的方式,如果你願意,可以試驗,但如果你有問題,那就不要再抱怨了。「*。 –

+0

是的,但如果scala 2.11不是與2.12二進制兼容的話它怎麼能工作呢? – NetanelRabinowitz

+1

不兼容意味着至少有1個問題。可以爲99.99%的API調用確定。你用自定義的Uber-JAR測試了多少?也許15%? –

回答

20

Spark 不支持支持Scala 2.12。您可以按照SPARK-14220構建和測試Spark對Scala 2.12)獲取最新狀態。

+1

可能已添加爲註釋 – jjj