Проблема, когда Flink загружает работу с потоком sql запрос - PullRequest
0 голосов
/ 27 февраля 2020

Я использовал последнюю версию flink (1.10.0) и sbt (1.3.7). У меня есть это исключение при загрузке задания с потоковым sql запросом:

, вызванным: java .lang.ClassCastException: org.codehaus.janino.CompilerFactory не может быть приведен к org.codehaus.commons.compiler .ICompilerFactory по адресу org.codehaus.commons.compiler.CompilerFactoryFactory.getCompilerFactory (CompilerFactoryFactory. java: 129) по адресу org.codehaus.commons.compiler.CompilerFactoryFactory.getDefaultCompilerFactory * * (класс компилятора 10 или 28). .calcite.rel.metadata.JaninoRelMetadataProvider.compile (JaninoRelMetadataProvider. java: 432)

Когда я запускаю основной класс с sbt run , он работает отлично. Я сделал jar с помощью команды sbt assembly , и у меня возникли конфликты между библиотеками. По этой причине добавьте это в build.sbt:

assemblyMergeStrategy in assembly := {
     case PathList("META-INF", xs @ _*) => MergeStrategy.discard
     case x => MergeStrategy.first
    }

Я прочитал аналогичный случай с разъемом улья https://issues.apache.org/jira/browse/FLINK-14849, и это ответ:

После https://issues.apache.org/jira/browse/FLINK-13749 flink-client будет использовать по умолчанию дочерний первый порядок разрешения. Если у пользователя jar есть конфликтующие зависимости, возникнет некоторая проблема.

Мой вопрос: как разрешить эти конфликты? Любая стратегия слияния сборки предлагает для этого случая? Помощь будет оценена.

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