Как прикрепить Handler к sparkUI - PullRequest
2 голосов
/ 20 июня 2019

Я пытаюсь подключить обработчик для запуска пользовательского интерфейса, используя этот код:

 private def getSparkUI(sparkContext: SparkContext): SparkUI = {
       sparkContext.ui.getOrElse {
           throw new SparkException("Parent SparkUI to attach this tab to not found!")
       }

}

import org.apache.spark.ui.JettyUtils.createServletHandler
val ui = getSparkUI(sparkContext)
val graphHttpServlet = new GraphHttpServlet("/graph/", sessionUtils)
val handler = createServletHandler("/graph/", graphHttpServlet, "")
ui.attachHandler(handler)

этот код не компилируется с ошибкой:

Error:(20, 19) Symbol 'type org.eclipse.jetty.servlet.ServletContextHandler' is missing from the classpath.
This symbol is required by 'method org.apache.spark.ui.JettyUtils.createServletHandler'.
Make sure that type ServletContextHandler is in your classpath and check for conflicting dependencies with `-Ylog-classpath`.
A full rebuild may help if 'JettyUtils.class' was compiled against an incompatible version of org.eclipse.jetty.servlet.
val handler = createServletHandler("/graph/", graphHttpServlet, "")

Я знаю, что искра затеняет зависимости от причала в новый пакет: org.spark_project.jetty.servlet.ServletContextHandler

Я также декомпилирую банку и проверяю, что баночка имеет затененные зависимости.

Но почему компилятору это не удалось увидеть? Как я могу прикрепить обработчик?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...