首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flink TableEnvironment.create抛出NoSuchMethodError

Flink TableEnvironment.create抛出NoSuchMethodError
EN

Stack Overflow用户
提问于 2022-10-25 14:16:42
回答 1查看 20关注 0票数 0

我正在测试flink蜂箱连接器,按照这里的说明https://nightlies.apache.org/flink/flink-docs-release-1.15/docs/connectors/table/hive/overview/

最后的代码如下。我试图在Intellij中运行它。不幸的是,它不起作用。TableEnvironment.create抛出NoSuchMethodError

代码语言:javascript
复制
public static void main(String[] args) throws Exception {
    EnvironmentSettings settings = EnvironmentSettings.inStreamingMode();
    TableEnvironment tableEnv = TableEnvironment.create(settings); // throws NoSuchMethodError

    String name            = "myhive";
    String defaultDatabase = "default";
    String hiveConfDir     = "/Users/gaoxiahong/apache-hive-3.1.2-bin/conf";

    HiveCatalog hive = new HiveCatalog(name, defaultDatabase, hiveConfDir);
    tableEnv.registerCatalog(name, hive);

    tableEnv.useCatalog(name);

    System.out.println(tableEnv.executeSql("show tables"));
}

异常消息如下:

代码语言:javascript
复制
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.calcite.sql.parser.SqlParser.config()Lorg/apache/calcite/sql/parser/SqlParser$Config;
    at org.apache.flink.table.planner.delegation.PlannerContext.lambda$getSqlParserConfig$1(PlannerContext.java:263)
    at java.util.Optional.orElseGet(Optional.java:267)
    at org.apache.flink.table.planner.delegation.PlannerContext.getSqlParserConfig(PlannerContext.java:257)
    at org.apache.flink.table.planner.delegation.PlannerContext.createFrameworkConfig(PlannerContext.java:148)
    at org.apache.flink.table.planner.delegation.PlannerContext.<init>(PlannerContext.java:130)
    at org.apache.flink.table.planner.delegation.PlannerBase.<init>(PlannerBase.scala:116)
    at org.apache.flink.table.planner.delegation.StreamPlanner.<init>(StreamPlanner.scala:62)
    at org.apache.flink.table.planner.delegation.DefaultPlannerFactory.create(DefaultPlannerFactory.java:64)
    at org.apache.flink.table.factories.PlannerFactoryUtil.createPlanner(PlannerFactoryUtil.java:52)
    at org.apache.flink.table.api.internal.TableEnvironmentImpl.create(TableEnvironmentImpl.java:302)
    at org.apache.flink.table.api.TableEnvironment.create(TableEnvironment.java:93)
    at com.yqg.flinkhive.Test.main(Test.java:18)

我的flink版本是1.15.2,而hive版本是3.1.2。pom.xml文件如下所示:

代码语言:javascript
复制
<properties>
    <flink.version>1.15.2</flink.version>
    <hive.version>3.1.2</hive.version>
    <scala.version>2.12</scala.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-connector-hive_${scala.version}</artifactId>
        <version>${flink.version}</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-table-api-java-bridge</artifactId>
        <version>${flink.version}</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>org.apache.hive</groupId>
        <artifactId>hive-exec</artifactId>
        <version>${hive.version}</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>org.apache.flink</groupId>
        <artifactId>flink-table-planner_${scala.version}</artifactId>
        <version>${flink.version}</version>
        <scope>provided</scope>
    </dependency>

</dependencies>

有人能帮我解决这个问题吗?感谢平安~

EN

回答 1

Stack Overflow用户

发布于 2022-10-26 14:00:29

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

https://stackoverflow.com/questions/74195535

复制
相关文章

相似问题

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