@Bial Liu 正解。 默认情况下,lib下只有最常用的几个jar. 满足最基础的Stream/Batch 编程。其他比如table, cep, ml 等都需要在opt/下找到对应的jar,移到lib/中。或者 自己项目里面编译带上也行
On Mon, Apr 15, 2019 at 5:36 PM Biao Liu <[email protected]> wrote: > Hi, > 猜测是因为 flink-dist.jar 中未包含 table 相关 jar,opt/ 下应该有 > flink-table-xxx.jar,带上这个包再运行试试 (可以先粗暴点把这个包放到 lib/ 下再运行) > > Han Mingcong <[email protected]> 于2019年4月15日周一 下午5:05写道: > > > 您好, > > 近期在调研Flink,从官网下载的flink-1.7.2-bin-hadoop28-scala_2.11版本,在使用flink run > > 提交一个Table作业时有以下报错: > > > > [bin]$ ./flink run -c WordCountTable ../../WC.jar > > Starting execution of program > > java.lang.NoClassDefFoundError: > org/apache/flink/table/api/TableEnvironment > > at WordCountTable.main(WordCountTable.java:22) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > at > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > > at > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > > at java.lang.reflect.Method.invoke(Method.java:498) > > at > > > org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:529) > > at > > > org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:421) > > at > > org.apache.flink.client.program.ClusterClient.run(ClusterClient.java:427) > > at > > > org.apache.flink.client.cli.CliFrontend.executeProgram(CliFrontend.java:813) > > at > org.apache.flink.client.cli.CliFrontend.runProgram(CliFrontend.java:287) > > at org.apache.flink.client.cli.CliFrontend.run(CliFrontend.java:213) > > at > > > org.apache.flink.client.cli.CliFrontend.parseParameters(CliFrontend.java:1050) > > at > > > org.apache.flink.client.cli.CliFrontend.lambda$main$11(CliFrontend.java:1126) > > at java.security.AccessController.doPrivileged(Native Method) > > at javax.security.auth.Subject.doAs(Subject.java:422) > > at > > > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1836) > > at > > > org.apache.flink.runtime.security.HadoopSecurityContext.runSecured(HadoopSecurityContext.java:41) > > at org.apache.flink.client.cli.CliFrontend.main(CliFrontend.java:1126) > > Caused by: java.lang.ClassNotFoundException: > > org.apache.flink.table.api.TableEnvironment > > at java.net.URLClassLoader.findClass(URLClassLoader.java:382) > > at java.lang.ClassLoader.loadClass(ClassLoader.java:424) > > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > > ... 18 more > > > > 程序源码来自于 > > > https://github.com/apache/flink/blob/release-1.7/flink-examples/flink-examples-table/src/main/java/org/apache/flink/table/examples/java/WordCountTable.java > > > > pom.xml: > > > > <dependencies> > > <dependency> > > <groupId>org.apache.flink</groupId> > > <artifactId>flink-table_2.11</artifactId> > > <version>1.7.2</version> > > </dependency> > > <dependency> > > <groupId>org.apache.flink</groupId> > > <artifactId>flink-streaming-scala_2.11</artifactId> > > <version>1.7.2</version> > > </dependency> > > </dependencies> > > > > 请问如何解决这个问题? > > > > >
