From 32f512a031b81e2ef48fe026d65e6d6aa4bdf443 Mon Sep 17 00:00:00 2001 From: Cheng Pan Date: Sat, 29 Apr 2023 01:34:34 +0800 Subject: [PATCH] [SPARK-43320][SQL][HIVE] Directly call Hive 2.3.9 API --- .../org/apache/spark/sql/hive/client/HiveClientImpl.scala | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala b/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala index becca8eae5ef..5b0309813fca 100644 --- a/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala +++ b/sql/hive/src/main/scala/org/apache/spark/sql/hive/client/HiveClientImpl.scala @@ -1347,12 +1347,11 @@ private[hive] object HiveClientImpl extends Logging { new HiveConf(conf, classOf[HiveConf]) } try { - classOf[Hive].getMethod("getWithoutRegisterFns", classOf[HiveConf]) - .invoke(null, hiveConf).asInstanceOf[Hive] + Hive.getWithoutRegisterFns(hiveConf) } catch { // SPARK-37069: not all Hive versions have the above method (e.g., Hive 2.3.9 has it but // 2.3.8 don't), therefore here we fallback when encountering the exception. - case _: NoSuchMethodException => + case _: NoSuchMethodError => Hive.get(hiveConf) } }