You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@flink.apache.org by krislee <kr...@163.com> on 2023/05/15 10:53:40 UTC

StreamTable Environment initialized failed -- "Could not find any factories that implement 'org.apache.flink.table.delegation.ExecutorFactory' in the classpath"

Hi  ALL,

OS:   CentOS 7.9

Flink version:  1.16.0


It looks like  I'm hitting a  notorious exception which had been 
discoverd since earlier fink version.  The issue was triggered

when below java code executed:

    StreamTableEnvironment tEnv = StreamTableEnvironment.create(env);

More detailed trace is as below :

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.bridge.internal.AbstractStreamTableEnvironmentImpl.lookupExecutor(AbstractStreamTableEnvironmentImpl.java:109)
	at org.apache.flink.table.api.bridge.java.internal.StreamTableEnvironmentImpl.create(StreamTableEnvironmentImpl.java:101)
	at org.apache.flink.table.api.bridge.java.StreamTableEnvironment.create(StreamTableEnvironment.java:122)
	at org.apache.flink.table.api.bridge.java.StreamTableEnvironment.create(StreamTableEnvironment.java:94)
	at com.sugon.cloud.paas.flink.cdc.FlinkCDC_mysql2doris_example.main(FlinkCDC_mysql2doris_example.java:63)

Caused by: org.apache.flink.table.api.ValidationException: Could not find any factories that implement 'org.apache.flink.table.delegation.ExecutorFactory' in the classpath.
	at org.apache.flink.table.factories.FactoryUtil.discoverFactory(FactoryUtil.java:533)
	at org.apache.flink.table.api.bridge.internal.AbstractStreamTableEnvironmentImpl.lookupExecutor(AbstractStreamTableEnvironmentImpl.java:106)
	... 4 more



What I've done:
1) Added missed dependencies in "pom.xml",  for example:

<dependency>

     <groupId>org.apache.flink</groupId>

     <artifactId>flink-table-api-java-uber</artifactId>

     <version>1.16.1</version>

     <scope>provided</scope>

</dependency>


<dependency>

    <!-- this is needed to use the Table API from unit tests -->

    <groupId>org.apache.flink</groupId>

    <artifactId>flink-table-planner_${scala.binary.version}</artifactId>

    <version>${flink.version}</version>

    <scope>provided</scope>

</dependency>


2)Tried two methods to run application, got same error(see above)
   
    mvn exec:java -Dexec.mainClass="xxx"

    java -jar target/xxx.jar


    I'm confused by the error because all necessary jar files does exist in Maven's local repository
or FLINK_HOME's lib dir.


The completed "pom.xml" is included in attachment.


Thanks,
Leo




Re: StreamTable Environment initialized failed -- "Could not find any factories that implement 'org.apache.flink.table.delegation.ExecutorFactory' in the classpath"

Posted by Sharil Shafie <si...@gmail.com>.
Hi,

May be you could try table planner loader instead.

<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-table-planner-loader</artifactId>
    <version>1.16.0</version>
    <scope>provided</scope>
</dependency>

Regards.


On Mon, 15 May 2023, 18:54 krislee, <kr...@163.com> wrote:

> Hi  ALL,
>
> OS:   CentOS 7.9
>
> Flink version:  1.16.0
>
>
> It looks like  I'm hitting a  notorious exception which had been discoverd
> since earlier fink version.  The issue was triggered
>
> when below java code executed:
>
>    StreamTableEnvironment tEnv = StreamTableEnvironment.create(env);
>
> More detailed trace is as below :
>
> 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.bridge.internal.AbstractStreamTableEnvironmentImpl.lookupExecutor(AbstractStreamTableEnvironmentImpl.java:109)
> 	at org.apache.flink.table.api.bridge.java.internal.StreamTableEnvironmentImpl.create(StreamTableEnvironmentImpl.java:101)
> 	at org.apache.flink.table.api.bridge.java.StreamTableEnvironment.create(StreamTableEnvironment.java:122)
> 	at org.apache.flink.table.api.bridge.java.StreamTableEnvironment.create(StreamTableEnvironment.java:94)
> 	at com.sugon.cloud.paas.flink.cdc.FlinkCDC_mysql2doris_example.main(FlinkCDC_mysql2doris_example.java:63)
>
> Caused by: org.apache.flink.table.api.ValidationException: Could not find any factories that implement 'org.apache.flink.table.delegation.ExecutorFactory' in the classpath.
> 	at org.apache.flink.table.factories.FactoryUtil.discoverFactory(FactoryUtil.java:533)
> 	at org.apache.flink.table.api.bridge.internal.AbstractStreamTableEnvironmentImpl.lookupExecutor(AbstractStreamTableEnvironmentImpl.java:106)
> 	... 4 more
>
>
>
> What I've done:
> 1) Added missed dependencies in "pom.xml",  for example:
>
>
> <dependency>
>
>     <groupId>org.apache.flink</groupId>
>
>     <artifactId>flink-table-api-java-uber</artifactId>
>
>     <version>1.16.1</version>
>
>     <scope>provided</scope>
>
> </dependency>
>
> <dependency>
>
>    <!-- this is needed to use the Table API from unit tests -->
>
>    <groupId>org.apache.flink</groupId>
>
>    <artifactId>flink-table-planner_${scala.binary.version}</artifactId>
>
>    <version>${flink.version}</version>
>
>    <scope>provided</scope>
>
> </dependency>
>
> 2)Tried two methods to run application, got same error(see above) mvn
> exec:java -Dexec.mainClass="xxx" java -jar target/xxx.jar I'm confused by
> the error because all necessary jar files does exist in Maven's local
> repository or FLINK_HOME's lib dir. The completed "pom.xml" is included in
> attachment. Thanks, Leo
>
>

Re: StreamTable Environment initialized failed -- "Could not find any factories that implement 'org.apache.flink.table.delegation.ExecutorFactory' in the classpath"

Posted by krislee <kr...@163.com>.
Hi  Sharil,


I've tried your suggestion, but unfortunately it does not work, same 
exception.

Any other ideas ?


Thanks,

Leo


在 2023/5/15 20:15, Sharil Shafie 写道:
> Hi,
>
> May be you could try table planner loader instead.
>
> <dependency>
> <groupId>org.apache.flink</groupId>
> <artifactId>flink-table-planner-loader</artifactId>
>     <version>1.16.0</version>
>     <scope>provided</scope>
> </dependency>
>
> Regards.
>
>
> On Mon, 15 May 2023, 18:54 krislee, <kr...@163.com> wrote:
>
>     Hi  ALL,
>
>     OS:   CentOS 7.9
>
>     Flink version:  1.16.0
>
>
>     It looks like  I'm hitting a  notorious exception which had been
>     discoverd since earlier fink version. The issue was triggered
>
>     when below java code executed:
>
>         StreamTableEnvironment tEnv = StreamTableEnvironment.create(env);
>
>     More detailed trace is as below :
>
>     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.bridge.internal.AbstractStreamTableEnvironmentImpl.lookupExecutor(AbstractStreamTableEnvironmentImpl.java:109)
>     	at org.apache.flink.table.api.bridge.java.internal.StreamTableEnvironmentImpl.create(StreamTableEnvironmentImpl.java:101)
>     	at org.apache.flink.table.api.bridge.java.StreamTableEnvironment.create(StreamTableEnvironment.java:122)
>     	at org.apache.flink.table.api.bridge.java.StreamTableEnvironment.create(StreamTableEnvironment.java:94)
>     	at com.sugon.cloud.paas.flink.cdc.FlinkCDC_mysql2doris_example.main(FlinkCDC_mysql2doris_example.java:63)
>
>     Caused by: org.apache.flink.table.api.ValidationException: Could not find any factories that implement 'org.apache.flink.table.delegation.ExecutorFactory' in the classpath.
>     	at org.apache.flink.table.factories.FactoryUtil.discoverFactory(FactoryUtil.java:533)
>     	at org.apache.flink.table.api.bridge.internal.AbstractStreamTableEnvironmentImpl.lookupExecutor(AbstractStreamTableEnvironmentImpl.java:106)
>     	... 4 more
>
>
>
>     What I've done:
>     1) Added missed dependencies in "pom.xml",  for example:
>
>     <dependency>
>
>          <groupId>org.apache.flink</groupId>
>
>          <artifactId>flink-table-api-java-uber</artifactId>
>
>          <version>1.16.1</version>
>
>          <scope>provided</scope>
>
>     </dependency>
>
>
>     <dependency>
>
>         <!-- this is needed to use the Table API from unit tests -->
>
>         <groupId>org.apache.flink</groupId>
>
>         <artifactId>flink-table-planner_${scala.binary.version}</artifactId>
>
>         <version>${flink.version}</version>
>
>         <scope>provided</scope>
>
>     </dependency>
>
>
>     2)Tried two methods to run application, got same error(see above)
>        
>         mvn exec:java -Dexec.mainClass="xxx"
>
>         java -jar target/xxx.jar
>
>
>         I'm confused by the error because all necessary jar files does exist in Maven's local repository
>     or FLINK_HOME's lib dir.
>
>
>     The completed "pom.xml" is included in attachment.
>
>
>     Thanks,
>     Leo
>
>
>
>