首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flink错误: org.apache.flink.shaded.calcite.com.google.common.base.Throwables :java.lang.ClassNotFoundException

Flink错误: org.apache.flink.shaded.calcite.com.google.common.base.Throwables :java.lang.ClassNotFoundException
EN

Stack Overflow用户
提问于 2016-12-21 12:12:53
回答 1查看 4.3K关注 0票数 2

我使用Flink流数据,这是在csv文件。我想用特定的模式把它转换成表格格式。为此目的,我使用的是Flink_2.10-1.1.3.jar(表api),但是我得到了以下错误:

代码语言:javascript
复制
log4j:WARN No appenders could be found for logger (org.apache.flink.api.java.typeutils.TypeExtractor).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/flink/shaded/calcite/com/google/common/base/Throwables
    at org.apache.calcite.rel.metadata.JaninoRelMetadataProvider.create(JaninoRelMetadataProvider.java:450)
    at org.apache.calcite.rel.metadata.JaninoRelMetadataProvider.revise(JaninoRelMetadataProvider.java:460)
    at org.apache.calcite.rel.metadata.RelMetadataQuery.revise(RelMetadataQuery.java:186)
    at org.apache.calcite.rel.metadata.RelMetadataQuery.collations(RelMetadataQuery.java:484)
    at org.apache.calcite.rel.metadata.RelMdCollation.project(RelMdCollation.java:207)
    at org.apache.calcite.rel.logical.LogicalProject$1.get(LogicalProject.java:122)
    at org.apache.calcite.rel.logical.LogicalProject$1.get(LogicalProject.java:120)
    at org.apache.calcite.plan.RelTraitSet.replaceIfs(RelTraitSet.java:238)
    at org.apache.calcite.rel.logical.LogicalProject.create(LogicalProject.java:116)
    at org.apache.calcite.rel.logical.LogicalProject.create(LogicalProject.java:108)
    at org.apache.flink.api.table.plan.logical.Project.construct(operators.scala:90)
    at org.apache.flink.api.table.plan.logical.Project.construct(operators.scala:85)
    at org.apache.flink.api.table.plan.logical.LogicalNode.toRelNode(LogicalNode.scala:78)
    at org.apache.flink.api.table.Table.getRelNode(table.scala:66)
    at org.apache.flink.api.table.StreamTableEnvironment.translate(StreamTableEnvironment.scala:243)
    at org.apache.flink.api.java.table.StreamTableEnvironment.toDataStream(StreamTableEnvironment.scala:147)
    at table_streaming_test.main(table_streaming_test.java:90)
Caused by: java.lang.ClassNotFoundException: org.apache.flink.shaded.calcite.com.google.common.base.Throwables
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 17 more

当我探索相应的jar时,相应的类就出现了。你能告诉我为什么会发生这种事吗?

此外,我能否获得maven源代码,以便在我所在的位置构建Flink表.jar?

EN

回答 1

Stack Overflow用户

发布于 2016-12-28 14:02:28

我对CEP库也有同样的问题。我添加到我的pom文件,但我一直得到ClassNotFoundException。我甚至通过IntelliJ将其打包到jar文件中,但没有工作。

  1. 如果您正在使用他们的flink-快速启动原型,我认为在pom文件中还有一些其他的东西需要修改以使其工作。当我创建一个干净的项目并自己添加flink依赖项时,我再也没有得到这个异常了。您可以试着看看这种方法是否有效。
  2. 您还可以将Flink表JAR文件添加到Flink中的lib文件夹中。这也解决了CEP库的问题。JAR文件可在Maven存储库网站上获得。下载您想要的版本。

根据Flink网站上的Table and SQL文档:

注意:表API目前不是二进制发行版的一部分。有关群集执行这里,请参见与其链接。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41262584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档