IsolatedClientLoader Utility¶
:hive-version: 2.3.6 :hadoop-version: 2.10.0 :url-hive-javadoc: https://hive.apache.org/javadocs/r{hive-version}/api :url-hadoop-javadoc: https://hadoop.apache.org/docs/r{hadoop-version}/api
IsolatedClientLoader is <HiveUtils utility for HiveUtils.md#newClientForExecution[newClientForExecution] and HiveUtils.md#newClientForMetadata[newClientForMetadata].
[[logging]] [TIP] ==== Enable ALL logging level for org.apache.spark.sql.hive.client.IsolatedClientLoader logger to see what happens inside.
Add the following line to conf/log4j2.properties:
log4j.logger.org.apache.spark.sql.hive.client.IsolatedClientLoader=ALL
Refer to ../spark-logging.md[Logging].¶
=== [[creating-instance]] Creating IsolatedClientLoader Instance
IsolatedClientLoader takes the following to be created:
- [[version]]
HiveVersion - [[sparkConf]]
SparkConf - [[hadoopConf]] Hadoop {url-hadoop-javadoc}/org/apache/hadoop/conf/Configuration.html[Configuration]
- [[execJars]] Execution JARs (default: empty)
- [[config]] Configuration (default: empty)
- [[isolationOn]]
isolationOnflag (default:true) - [[sharesHadoopClasses]]
sharesHadoopClassesflag (default:true) - [[rootClassLoader]] Root
ClassLoader(default:ClassLoader.getSystemClassLoader.getParent.getParent) - [[baseClassLoader]] Base class
ClassLoader(default:Thread.currentThread().getContextClassLoader) - [[sharedPrefixes]] Shared prefixes (default: empty)
- [[barrierPrefixes]] Barrier prefixes (default: empty)
IsolatedClientLoader initializes the <
=== [[hiveVersion]] Hive Metastore Version -- hiveVersion Utility
[source, scala]¶
hiveVersion( version: String): HiveVersion
hiveVersion creates a HiveVersion based on the input version.
Acceptable versions and synonyms:
12,0.12,0.12.013,0.13,0.13.0,0.13.114,0.14,0.14.01.0,1.0.01.1,1.1.01.2,1.2.0,1.2.1,1.2.22.0,2.0.0,2.0.12.1,2.1.0,2.1.12.2,2.2.02.3,2.3.0,2.3.1,2.3.2,2.3.3
[NOTE]¶
hiveVersion is used when:
HiveUtilsutility is used to HiveUtils.md#newClientForExecution[newClientForExecution] and HiveUtils.md#newClientForMetadata[newClientForMetadata]
* IsolatedClientLoader utility is used for an <>¶
=== [[forVersion]] Creating IsolatedClientLoader for Given Hive Metastore Version -- forVersion Utility
[source, scala]¶
forVersion( hiveMetastoreVersion: String, hadoopVersion: String, sparkConf: SparkConf, hadoopConf: Configuration, config: Map[String, String] = Map.empty, ivyPath: Option[String] = None, sharedPrefixes: Seq[String] = Seq.empty, barrierPrefixes: Seq[String] = Seq.empty, sharesHadoopClasses: Boolean = true): IsolatedClientLoader
forVersion...FIXME
NOTE: forVersion is used when HiveUtils utility is used to HiveUtils.md#newClientForMetadata[newClientForMetadata].
=== [[createClient]] Creating HiveClient -- createClient Method
[source, scala]¶
createClient(): HiveClient¶
createClient...FIXME
[NOTE]¶
createClient is used when:
HiveUtilsutility is used to HiveUtils.md#newClientForExecution[newClientForExecution] and HiveUtils.md#newClientForMetadata[newClientForMetadata]