From 444dfd11d35e16ec6f1758766165ce28ae43be37 Mon Sep 17 00:00:00 2001 From: Kent Yao Date: Mon, 11 Jun 2018 14:54:21 +0800 Subject: [PATCH] add spark-authorizer --- .../scala/yaooqinn/kyuubi/spark/SparkSessionWithUGI.scala | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/scala/yaooqinn/kyuubi/spark/SparkSessionWithUGI.scala b/src/main/scala/yaooqinn/kyuubi/spark/SparkSessionWithUGI.scala index 87c0502bf..10c5533bc 100644 --- a/src/main/scala/yaooqinn/kyuubi/spark/SparkSessionWithUGI.scala +++ b/src/main/scala/yaooqinn/kyuubi/spark/SparkSessionWithUGI.scala @@ -32,6 +32,8 @@ import org.apache.spark.{KyuubiSparkUtil, SparkConf, SparkContext} import org.apache.spark.KyuubiConf._ import org.apache.spark.KyuubiSparkUtil._ import org.apache.spark.sql.SparkSession +import org.apache.spark.sql.catalyst.plans.logical.LogicalPlan +import org.apache.spark.sql.catalyst.rules.Rule import org.apache.spark.ui.KyuubiServerTab import yaooqinn.kyuubi.{KyuubiSQLException, Logging} @@ -202,6 +204,12 @@ class SparkSessionWithUGI(user: UserGroupInformation, conf: SparkConf) extends L SparkSessionCacheManager.get.decrease(userName) throw ute.getCause } + val authRule = + ReflectUtils.findClass("org.apache.spark.sql.catalyst.optimizer.Authorizer", true) + if (authRule != null) { + _sparkSession.experimental.extraOptimizations ++= + Seq(authRule.asInstanceOf[Rule[LogicalPlan]]) + } } }