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]]
isolationOn
flag (default:true
) - [[sharesHadoopClasses]]
sharesHadoopClasses
flag (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.0
13
,0.13
,0.13.0
,0.13.1
14
,0.14
,0.14.0
1.0
,1.0.0
1.1
,1.1.0
1.2
,1.2.0
,1.2.1
,1.2.2
2.0
,2.0.0
,2.0.1
2.1
,2.1.0
,2.1.1
2.2
,2.2.0
2.3
,2.3.0
,2.3.1
,2.3.2
,2.3.3
[NOTE]¶
hiveVersion
is used when:
HiveUtils
utility 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:
HiveUtils
utility is used to HiveUtils.md#newClientForExecution[newClientForExecution] and HiveUtils.md#newClientForMetadata[newClientForMetadata]