Не удалось создать экземпляр исполнителя. Убедитесь, что модуль планировщика находится на пути к классам - PullRequest
0 голосов
/ 23 января 2020

Для проекта scala я использую StreamTableEnvironment, и при запуске моего кода в IntelliJ все работает нормально. Однако, когда я пытаюсь экспортировать свой проект в банку (я создаю толстую банку, используя сборку sbt), подходящая фабрика таблиц не может быть найдена. Я заглянул внутрь банки, и классы, в которых она нуждается, включены. Вот полная трассировка стека:

Exception in thread "main" org.apache.flink.table.api.TableException: Could not instantiate the executor. Make sure a planner module is on the classpath
        at org.apache.flink.table.api.scala.internal.StreamTableEnvironmentImpl$.lookupExecutor(StreamTableEnvironmentImpl.scala:328)
        at org.apache.flink.table.api.scala.internal.StreamTableEnvironmentImpl$.create(StreamTableEnvironmentImpl.scala:284)
        at org.apache.flink.table.api.scala.StreamTableEnvironment$.create(StreamTableEnvironment.scala:366)
        at org.tudelft.plugins.SQLService$.setupEnv(SQLService.scala:40)
        at org.tudelft.plugins.SQLStage.main(SQLStage.scala:19)
        at org.codefeedr.stages.OutputStage.transform(OutputStage.scala:45)
        at org.codefeedr.pipeline.Pipeline.$anonfun$startMock$1(Pipeline.scala:240)
        at org.codefeedr.pipeline.Pipeline.$anonfun$startMock$1$adapted(Pipeline.scala:238)
        at scala.collection.Iterator.foreach(Iterator.scala:941)
        at scala.collection.Iterator.foreach$(Iterator.scala:941)
        at scala.collection.AbstractIterator.foreach(Iterator.scala:1429)
        at scala.collection.IterableLike.foreach(IterableLike.scala:74)
        at scala.collection.IterableLike.foreach$(IterableLike.scala:73)
        at scala.collection.AbstractIterable.foreach(Iterable.scala:56)
        at org.codefeedr.pipeline.Pipeline.startMock(Pipeline.scala:238)
        at org.tudelft.Main$.main(Main.scala:34)
        at org.tudelft.Main.main(Main.scala)
Caused by: org.apache.flink.table.api.NoMatchingTableFactoryException: Could not find a suitable table factory for 'org.apache.flink.table.delegation.ExecutorFactory' in
the classpath.

Reason: No factory implements 'org.apache.flink.table.delegation.ExecutorFactory'.

The following properties are requested:
class-name=org.apache.flink.table.executor.StreamExecutorFactory
streaming-mode=true

The following factories have been considered:

        at org.apache.flink.table.factories.TableFactoryService.filterByFactoryClass(TableFactoryService.java:243)
        at org.apache.flink.table.factories.TableFactoryService.filter(TableFactoryService.java:186)
        at org.apache.flink.table.factories.TableFactoryService.findAllInternal(TableFactoryService.java:172)
        at org.apache.flink.table.factories.TableFactoryService.findAll(TableFactoryService.java:126)
        at org.apache.flink.table.factories.ComponentFactoryService.find(ComponentFactoryService.java:48)
        at org.apache.flink.table.api.scala.internal.StreamTableEnvironmentImpl$.lookupExecutor(StreamTableEnvironmentImpl.scala:312)
        ... 16 more```
...