SparkSessionExtensions
SparkSessionExtensions
is an interface that a Spark developer can use to extend a SparkSession with custom query execution rules and a relational entity parser.
As a Spark developer, you use Builder.withExtensions method (while building a new SparkSession) to access the session-bound SparkSessionExtensions
.
Method | Description | ||
---|---|---|---|
|
|||
Registering a custom operator optimization rule
|
|||
|
|||
|
|||
|
|||
|
SparkSessionExtensions
is an integral part of SparkSession (and is indirectly required to create one).
Name | Description |
---|---|
|
Used when |
Associating Custom Operator Optimization Rules with SparkSession — buildOptimizerRules
Method
1 2 3 4 5 |
buildOptimizerRules(session: SparkSession): Seq[Rule[LogicalPlan]] |
buildOptimizerRules
gives the optimizerRules logical rules that are associated with the input SparkSession.
Note
|
buildOptimizerRules is used exclusively when BaseSessionStateBuilder is requested for the custom operator optimization rules to add to the base Operator Optimization batch.
|
Registering Custom Check Analysis Rule (Builder) — injectCheckRule
Method
1 2 3 4 5 |
injectCheckRule(builder: SparkSession => LogicalPlan => Unit): Unit |
injectCheckRule
…FIXME
Registering Custom Operator Optimization Rule (Builder) — injectOptimizerRule
Method
1 2 3 4 5 |
injectOptimizerRule(builder: SparkSession => Rule[LogicalPlan]): Unit |
injectOptimizerRule
simply registers a custom operator optimization rule (as a RuleBuilder
function) to the optimizerRules internal registry.
Registering Custom Parser (Builder) — injectParser
Method
1 2 3 4 5 |
injectParser(builder: (SparkSession, ParserInterface) => ParserInterface): Unit |
injectParser
…FIXME
Registering Custom Planner Strategy (Builder) — injectPlannerStrategy
Method
1 2 3 4 5 |
injectPlannerStrategy(builder: SparkSession => Strategy): Unit |
injectPlannerStrategy
…FIXME