apache-spark
Migracja ze Spark 1.6 do Spark 2.0
Szukaj…
Wprowadzenie
Spark 2.0 został wydany i zawiera wiele ulepszeń i nowych funkcji. Jeśli używasz Spark 1.6, a teraz chcesz zaktualizować aplikację do Spark 2.0, musisz wziąć pod uwagę pewne zmiany w interfejsie API. Poniżej znajdują się niektóre zmiany w kodzie, które należy wprowadzić.
Zaktualizuj plik build.sbt
Zaktualizuj build.sbt za pomocą:
scalaVersion := "2.11.8" // Make sure to have installed Scala 11
sparkVersion := "2.0.0" // Make sure to have installed Spark 2.0
Należy pamiętać, że podczas kompilacji z sbt package
The .jar
zostanie stworzony w target/scala-2.11/
i .jar
nazwa zostanie również zmieniona, tak spark-submit
polecenia muszą być aktualizowane w miarę dobrze.
Zaktualizuj biblioteki ML Vector
ML Transformers
generuje teraz org.apache.spark.ml.linalg.VectorUDT
zamiast org.apache.spark.mllib.linalg.VectorUDT
.
Są one również mapowane lokalnie na podklasy org.apache.spark.ml.linalg.Vector
. Nie są one kompatybilne ze starym interfejsem API MLLib, który zmierza w kierunku wycofania w Spark 2.0.0.
//import org.apache.spark.mllib.linalg.{Vector, Vectors} // Depreciated in Spark 2.0
import org.apache.spark.ml.linalg.Vector // Use instead