Соединение с базами данных: DependencyCheckWarning: класс java может отсутствовать в удаленном кластере - PullRequest
0 голосов
/ 03 марта 2020

Я выполнял еще один локальный код Scala для удаленного кластера Spark на Databricks и получил его.

Exception in thread "main" com.databricks.service.DependencyCheckWarning: The java class <something> may not be present on the remote cluster. It can be found in <something>/target/scala-2.11/classes. To resolve this, package the classes in <something>/target/scala-2.11/classes into a jar file and then call sc.addJar() on the package jar. You can disable this check by setting the SQL conf spark.databricks.service.client.checkDeps=false.

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

Кто-нибудь знает, как с этим бороться?

1 Ответ

0 голосов
/ 04 марта 2020

Очевидно, что в документации есть покрытие :

spark.sparkContext.addJar("./target/scala-2.11/hello-world_2.11-1.0.jar")

Я думаю, что имеет смысл, что все, что вы пишете как внешний код Spark, считается зависимостью. Таким образом, простое sbt publishLocal, а затем указание на путь кувшина в приведенной выше команде рассортирует вас.

Мое основное замешательство произошло из-за того, что мне не нужно было делать это очень долго, пока какой-то момент этот механизм пнул его. Скорее противоречивое поведение, я бы сказал.


Личное наблюдение после работы с этой установкой заключается в том, что вам кажется, что вам нужно публиковать sh банку только один раз. Я несколько раз менял свой код, и эти изменения отражаются, хотя я не публиковал фляги для новых изменений, которые я сделал. Это делает всю задачу единой. Хотя все еще сбивает с толку.

...