Как импортировать spark.jobserver.SparkSessionJob - PullRequest
0 голосов
/ 18 июня 2019

Я добавил зависимости build-server 0.9.0 в build.sbt, добавив

scalaVersion := "2.11.0"
resolvers += "Job Server Bintray" at "https://dl.bintray.com/spark-jobserver/maven"
libraryDependencies ++= Seq(
"spark.jobserver" %% "job-server-api" % "0.9.0",
"org.apache.spark" %% "spark-core" % "2.3.2",
"org.apache.spark" %% "spark-sql" % "2.3.2",
)

Однако, когда я пытаюсь проверить код, подобный этому (скопировано с https://github.com/spark-jobserver/spark-jobserver#new-sparkjob-api-with-spark-v21):

import com.typesafe.config.Config
import org.apache.spark.sql.SparkSession
import org.scalactic._
import spark.jobserver.api.{JobEnvironment, SingleProblem, ValidationProblem}
import spark.jobserver.SparkSessionJob
import scala.util.Try
object WordCountExampleSparkSession extends SparkSessionJob {
  type JobData = Seq[String]
  type JobOutput = collection.Map[String, Long]
  override def runJob(sparkSession: SparkSession, runtime: JobEnvironment, data: JobData): JobOutput =
sparkSession.sparkContext.parallelize(data).countByValue

  override def validate(sparkSession: SparkSession, runtime: JobEnvironment, config: Config): JobData Or Every[ValidationProblem] = {
Try(config.getString("input.string").split(" ").toSeq)
  .map(words => Good(words))
  .getOrElse(Bad(One(SingleProblem("No input.string param"))))
  }
}

IntelliJ показывает ошибку: «Не удается разрешить символ« SparkSessionJob »» И файл JAR выглядит так: введите описание изображения здесь

1 Ответ

0 голосов
/ 18 июня 2019

Я понял, что sparkSessionJob находится в job-server-extras, поэтому мне просто нужно добавить

libraryDependencies += "spark.jobserver" %% "job-server-api" % "0.9.0"
...