SPYT в Scala

Требования

SPYT работает с Java 11 и Scala 2.12.

Зависимости

Все зависимости ставятся в SPYT автоматически, поэтому значение для scopeProvided. Они будут использоваться только для компиляции и не будут включены в .jar для запуска.

libraryDependencies ++= Seq(
    // зависимости от Spark
    "org.apache.spark" %% "spark-core" % "3.0.1" % Provided,
    "org.apache.spark" %% "spark-sql" % "3.0.1" % Provided,
    // библиотека SPYT
    "tech.ytsaurus" %% "spark-yt-data-source" % "1.50.0" % Provided
)

Сборка

Код с примерами собран командой sbt assembly и выложен в YTsaurus: //home/spark/examples/scala-examples-assembly-0.1.jar.

Запуск джобов

Перед запуском джобов из примера необходимо запустить кластер SPYT или узнать discovery-path уже запущенного кластера.

Запуск джобов производится с помощью утилиты spark-submit-yt.

spark-submit-yt \
  --proxy ${YT_PROXY} \
  --discovery-path ${SPYT_DISCOVERY_PATH} \
  --deploy-mode cluster \
  --class tech.ytsaurus.spyt.examples.GroupingExample \
  yt:///home/spark/examples/scala-examples-assembly-0.1.jar