Flink版本:1.15.0 Hive版本:1.1.0-cdh5.15.1 问题描述: java.lang.NullPointerException at org.apache.flink.table.catalog.hive.client.HiveShimV100.registerTemporaryFunction(HiveShimV100.java:422) at org.apache.flink.table.planner.delegation.hive.HiveParser.parse(HiveParser.java:207) at org.apache.flink.table.api.internal.TableEnvironmentImpl.executeSql(TableEnvironmentImpl.java:695)
经排查:该版本hive匹配了HiveShimV110,HiveShimV110集成了HiveShimV100,而在HiveShimV100类中使用了反射的方式调用了org.apache.hadoop.hive.ql.exec.FunctionRegistry类中的registerTemporaryFunction,此方法在1.1.0-cdh5.15.1版本的hive-exec的依赖包FunctionRegistry类中不存在,且对比了apache社区版本的hive1.1.0的该类是存在该方法的, 且实际使用中如果将hive、hadoop版本切换为相应的apache社区版本会出现冲突。 请各位大神们提供一个解决方案,同时请官方针对这个问题修复一下针对cdh1.1.0版本hive-exec的兼容问题,