HiveSessionStateBuilder¶
HiveSessionStateBuilder is a concrete ../BaseSessionStateBuilder.md[builder] to produce a Hive-aware ../SessionState.md[SessionState] for...FIXME
HiveSessionStateBuilder comes with Hive-specific <
.HiveSessionStateBuilder's Hive-Specific Properties image::../images/spark-sql-HiveSessionStateBuilder.png[align="center"]
HiveSessionStateBuilder is <
.HiveSessionStateBuilder and SessionState (in SparkSession) image::../images/spark-sql-HiveSessionStateBuilder-SessionState.png[align="center"]
[[properties]] .HiveSessionStateBuilder's Properties [cols="1,2",options="header",width="100%"] |=== | Name | Description
| <
| catalog a| [[catalog]] HiveSessionCatalog with the following:
- <
> - ../SharedState.md#globalTempViewManager[GlobalTempViewManager] from the session-specific
SharedState - New HiveMetastoreCatalog.md[HiveMetastoreCatalog]
- ../BaseSessionStateBuilder.md#functionRegistry[FunctionRegistry]
- ../BaseSessionStateBuilder.md#conf[SQLConf]
- New Hadoop ../SessionState.md#newHadoopConf[Configuration]
- ../BaseSessionStateBuilder.md#sqlParser[ParserInterface]
- <
>
NOTE: If <catalog
Used to create <
| externalCatalog | [[externalCatalog]] HiveExternalCatalog
| <
| resourceLoader | [[resourceLoader]] HiveSessionResourceLoader |===
=== [[planner-indepth]] SparkPlanner with Hive-Specific Strategies -- planner Property
[source, scala]¶
planner: SparkPlanner¶
NOTE: planner is part of ../BaseSessionStateBuilder.md#planner[BaseSessionStateBuilder Contract] to create a query planner.
planner is a SparkPlanner with...FIXME
planner uses the <
[[planner-strategies]] .Hive-Specific SparkPlanner's Hive-Specific Strategies [cols="30m,70",options="header",width="100%"] |=== | Strategy | Description
| HiveTableScans.md[HiveTableScans] | [[HiveTableScans]] Replaces HiveTableRelation.md[HiveTableRelation] logical operators with HiveTableScanExec.md[HiveTableScanExec] physical operators
| Scripts | [[Scripts]] |===
=== [[analyzer-indepth]] Logical Query Plan Analyzer with Hive-Specific Rules -- analyzer Property
analyzer: Analyzer
analyzer is a Logical Analyzer with <
analyzer uses the Hive-specific <
analyzer is part of the BaseSessionStateBuilder abstraction.
[[extendedResolutionRules]] .Hive-Specific Analyzer's Extended Resolution Rules (in the order of execution) [cols="1,2",options="header",width="100%"] |=== | Logical Rule | Description
| ResolveHiveSerdeTable | [[ResolveHiveSerdeTable]]
| FindDataSourceTable | [[FindDataSourceTable]]
| ResolveSQLOnFile | [[ResolveSQLOnFile]]
|===
[[postHocResolutionRules]] .Hive-Specific Analyzer's PostHoc Resolution Rules [cols="1,2",options="header",width="100%"] |=== | Logical Rule | Description
| [[DetermineTableStats]] DetermineTableStats.md[DetermineTableStats] |
|---|
| [[RelationConversions]] RelationConversions.md[RelationConversions] |
|---|
| [[PreprocessTableCreation]] PreprocessTableCreation |
|---|
[[PreprocessTableInsertion]] PreprocessTableInsertion |
|---|
| [[DataSourceAnalysis]] .DataSourceAnalysis |
|---|
| [[HiveAnalysis]] HiveAnalysis.md[HiveAnalysis] |
|---|
| === |
[[extendedCheckRules]] .Hive-Specific Analyzer's Extended Check Rules [cols="1,2",options="header",width="100%"] |=== | Logical Rule | Description
[[PreWriteCheck]] PreWriteCheck |
|---|
[[PreReadCheck]] PreReadCheck |
|---|
| === |
=== [[creating-instance]] Creating HiveSessionStateBuilder Instance
HiveSessionStateBuilder takes the following when created:
- [[session]] ../SparkSession.md[SparkSession]
- [[parentState]] Optional ../SessionState.md[SessionState] (default:
None)
=== [[newBuilder]] Builder Function to Create HiveSessionStateBuilder -- newBuilder Method
[source, scala]¶
newBuilder: (SparkSession, Option[SessionState]) => BaseSessionStateBuilder¶
NOTE: newBuilder is part of ../BaseSessionStateBuilder.md#newBuilder[BaseSessionStateBuilder] contract to...FIXME.
newBuilder...FIXME