Skip to content

Commit

Permalink
[SPARK-11000] [YARN] Load metadata.Hive class only when `hive.metas…
Browse files Browse the repository at this point in the history
…tore.uris` was set to avoid bootting the database twice

Author: huangzhaowei <carlmartinmax@gmail.com>

Closes apache#9026 from SaintBacchus/SPARK-11000.
  • Loading branch information
SaintBacchus authored and Marcelo Vanzin committed Oct 17, 2015
1 parent 022a8f6 commit e2dfdbb
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions yarn/src/main/scala/org/apache/spark/deploy/yarn/Client.scala
Original file line number Diff line number Diff line change
Expand Up @@ -1327,11 +1327,8 @@ object Client extends Logging {
val mirror = universe.runtimeMirror(getClass.getClassLoader)

try {
val hiveClass = mirror.classLoader.loadClass("org.apache.hadoop.hive.ql.metadata.Hive")
val hive = hiveClass.getMethod("get").invoke(null)

val hiveConf = hiveClass.getMethod("getConf").invoke(hive)
val hiveConfClass = mirror.classLoader.loadClass("org.apache.hadoop.hive.conf.HiveConf")
val hiveConf = hiveConfClass.newInstance()

val hiveConfGet = (param: String) => Option(hiveConfClass
.getMethod("get", classOf[java.lang.String])
Expand All @@ -1341,6 +1338,9 @@ object Client extends Logging {

// Check for local metastore
if (metastore_uri != None && metastore_uri.get.toString.size > 0) {
val hiveClass = mirror.classLoader.loadClass("org.apache.hadoop.hive.ql.metadata.Hive")
val hive = hiveClass.getMethod("get").invoke(null, hiveConf.asInstanceOf[Object])

val metastore_kerberos_principal_conf_var = mirror.classLoader
.loadClass("org.apache.hadoop.hive.conf.HiveConf$ConfVars")
.getField("METASTORE_KERBEROS_PRINCIPAL").get("varname").toString
Expand Down

0 comments on commit e2dfdbb

Please sign in to comment.