В этом руководстве мы создадим проект машинного обучения Spark с Scala, Spark MLlib и sbt.
sbt - это инструмент сборки с открытым исходным кодом для проектов Scala и Java, аналогичный Java Maven и Ant.
sbt требует Java Development Kit 8 (JDK 8), поэтому, если он у вас не установлен, перейдите по этой ссылке для установки.
Установка sbt:
В Ubuntu:
$ echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee -a /etc/apt/sources.list.d/sbt.list
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823
$ sudo apt-get update
$ sudo apt-get install sbt
Для других дистрибутивов Linux: https://www.scala-sbt.org/download.html
На Mac с использованием homebrew:
$ brew install sbt
Создание проекта
Для быстрого старта вашего проекта воспользуемся шаблоном начальной загрузки Gitter8. Это создаст необходимую структуру папок и файлы проекта.
$ sbt new sbt/scala-seed.g8
Вы можете быстро проверить, все ли работает, перейдя в каталог во вновь созданном проекте и запустив sbt:
$ cd [my-project] $ sbt
Внутри оболочки sbt используйте команду run для запуска проекта шаблона:
$ sbt:myproject> run
Это должно вернуть простое сообщение hello.
Добавление Spark и Spark MLlib
Шаблон по умолчанию уже включает зависимость scalaTest. Теперь мы добавим ядро Spark и Spark MLlib.
В корне папки проекта вы можете найти файл конфигурации build.sbt.
Добавьте последние две строки,
libraryDependencies += sparkCore, libraryDependencies += sparkMLlib
, чтобы включить искровой сердечник и искровую зависимость MLlib.
Затем нам нужно указать, какие эти зависимости находятся в ./project/Dependencies.scala
// https://mvnrepository.com/artifact/org.apache.spark/spark-core lazy val sparkCore = “org.apache.spark” %% “spark-core” % “2.4.0” // https://mvnrepository.com/artifact/org.apache.spark/spark-mllib lazy val sparkMLlib = “org.apache.spark” %% “spark-mllib” % “2.4.0”
Вот и все!
Теперь вы можете закодировать свой проект машинного обучения с помощью Spark и MLlib в исходной папке и запустить с помощью sbt.
$ sbt
Внутри оболочки sbt используйте команду run.
$ sbt:myproject> run