1. 程式人生 > 實用技巧 >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 cl

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 cl

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/