В этом руководстве мы создадим проект машинного обучения 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

👋 Спасибо за чтение!