flink-sql-gateway:Caused by: org.apache.flink.table.api.NoMatchingTableFactoryException: Could not find a suitable table factory for 'org.apache.flink.table.factories.CatalogFactory' in the classpath.

while I add catalogs in sql-gateway-defaults.yaml:
catalogs:

name: catalog_hive
type: hive
hive-conf-dir: /opt/software/flink-sql-gateway-0.1-SNAPSHOT/conf //include hive-site.xml
the error below happens,help please.

Caused by: org.apache.flink.table.api.NoMatchingTableFactoryException: Could not find a suitable table factory for 'org.apache.flink.table.factories.CatalogFactory' in
the classpath.

Reason: Required context properties mismatch.

The following properties are requested:
hive-conf-dir=/opt/software/flink-sql-gateway-0.1-SNAPSHOT/conf
type=hive

The following factories have been considered:
org.apache.flink.table.catalog.GenericInMemoryCatalogFactory
at org.apache.flink.table.factories.TableFactoryService.filterByContext(TableFactoryService.java:322)
at org.apache.flink.table.factories.TableFactoryService.filter(TableFactoryService.java:190)
at org.apache.flink.table.factories.TableFactoryService.findSingleInternal(TableFactoryService.java:143)
at org.apache.flink.table.factories.TableFactoryService.find(TableFactoryService.java:113)
at com.ververica.flink.table.gateway.context.ExecutionContext.createCatalog(ExecutionContext.java:364)
at com.ververica.flink.table.gateway.context.ExecutionContext.lambda$null$4(ExecutionContext.java:543)
at java.util.HashMap.forEach(HashMap.java:1288)
at com.ververica.flink.table.gateway.context.ExecutionContext.lambda$initializeCatalogs$5(ExecutionContext.java:542)
at com.ververica.flink.table.gateway.context.ExecutionContext.wrapClassLoader(ExecutionContext.java:239)
at com.ververica.flink.table.gateway.context.ExecutionContext.initializeCatalogs(ExecutionContext.java:541)
at com.ververica.flink.table.gateway.context.ExecutionContext.initializeTableEnvironment(ExecutionContext.java:490)
at com.ververica.flink.table.gateway.context.ExecutionContext.(ExecutionContext.java:159)
at com.ververica.flink.table.gateway.context.ExecutionContext.(ExecutionContext.java:118)
at com.ververica.flink.table.gateway.context.ExecutionContext$Builder.build(ExecutionContext.java:751)
... 46 more

准备两个jar包。flink-connector-hive_2.11-1.11.1.jar和hive-exec-2.1.1.jar

可以放在flink-sql-gateway的lib/或者flink的lib/

posted @ 2020-08-27 16:52  大数据从业者FelixZh  阅读(5278)  评论(1编辑  收藏  举报